拆分多个字符的字符串

时间:2016-08-08 23:27:41

标签: c# string split

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,South America”或“AMAC,South America”,然后将逗号放置在有/没有空格的位置。不幸的是,我的输出只是在没有空格的情况下拆分逗号,如果输入是“AMAC,South America”,则给出正确的输出。在逗号后面有空格或没有空格我能做些什么来获得相同的结果?

3 个答案:

答案 0 :(得分:1)

简单解决方法:将拆分字符串的顺序更改为new string[] { ", ", ","}将解决此问题。您还可以使用string.Trim()删除前导或尾随空格。

答案 1 :(得分: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()));
}

答案 2 :(得分:0)

两种方式:

  1. Bastian Thiede的回答交换分割字符串的顺序。

  2. 正则表达式。使用Regex.Replace(myString, @",\s+", "")删除逗号后的所有空格。使用此方法的好处是它可以删除逗号后面的任意数量的空格。