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”,则给出正确的输出。在逗号后面有空格或没有空格我能做些什么来获得相同的结果?
答案 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)
两种方式:
按Bastian Thiede的回答交换分割字符串的顺序。
正则表达式。使用Regex.Replace(myString, @",\s+", "")
删除逗号后的所有空格。使用此方法的好处是它可以删除逗号后面的任意数量的空格。