2016-08-08 39 views
-1
if (clientInfo.cf.geo_region != null) 
{ 
    List<string> geoListRegion = clientInfo.cf.geo_region.Split(new string[] { ",", ", " }, StringSplitOptions.RemoveEmptyEntries).ToList(); 
    rs_product_hit = rs_product_hit.Where(ph => geoListRegion.Contains(ph.region)); 
} 

我希望能夠輸入「AMAC,南美洲」或「AMAC,南美洲」,並在逗號之後放置/未放置空格。不幸的是,我的輸出結果只是在沒有空格的情況下分割逗號,如果輸入是「AMAC,南美洲」,則輸出正確的輸出。我可以做些什麼來獲得相同的結果,在逗號之後是否有空格?將字符串分割爲多個字符

回答

1

簡單解決方法:將拆分字符串的順序更改爲new string[] { ", ", ","}即可解決問題。您也可以使用string.Trim()刪除前導或尾隨空格。

0

你接近,但你需要做的Trim()

if (clientInfo.cf.geo_region != null) 
{ 
    List<string> geoListRegion = clientInfo.cf.geo_region.Split(new string[] { ",", ", " }, StringSplitOptions.RemoveEmptyEntries).ToList(); 
    rs_product_hit = rs_product_hit.Where(ph => geoListRegion.Contains(ph.region.Trim())); 
} 
0

兩種方式:

  1. 交換的回答Bastian Thiede您的分裂字符串的順序。

  2. 正則表達式。使用Regex.Replace(myString, @",\s+", "")刪除逗號後的所有空格。使用這種方法的好處是它可以刪除逗號後的任意數量的空格。