用多个字符分割字符串

本文关键字:分割 字符串 字符 | 更新日期: 2023-09-27 18:01:18

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",则输出是正确的。我该怎么做才能得到相同的结果,不管有没有逗号后面的空格?

用多个字符分割字符串

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

你很接近了,但你需要做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()));
}

两种方式:

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

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