如何压缩List <string>?</string>中的空格

时间:2012-12-16 04:27:50

标签: c# list removing-whitespace

我正在尝试使用以下代码压缩C#List中的所有空白区域,但它不会编译...我在整个Regex表达式下得到红色的“Error”行我不明白为什么。任何人都可以帮助我吗?

char[] delimiterChars = { ',', ':', '|', '\n' };
List<string> sortBox1 = new List<string>(textBox2.Text.Split(delimiterChars));

#region >> COMPRESS WHITESPACE
if (checkBox2.Checked)
{
    sortBox1 = Regex.Replace(sortBox1, @"\s+", " ").Trim();              
}
#endregion  

3 个答案:

答案 0 :(得分:2)

这样的事情可以解决问题:

if (checkBox2.Checked)
{
    sortBox1 = sortBox1.Select(s => Regex.Replace(s, @"\s+", " ").Trim()).ToList();             
}

您收到的错误很可能是因为您将sortBox1传递给Replace方法 - 它必须是string而不是List

答案 1 :(得分:2)

Replace方法适用于单个字符串,而不是字符串列表。您将遍历列表中的字符串:

for (int i = 0; i < sortBox1.Count; i++) {
  sortBox1[i] = Regex.Replace(sortBox1[i], @"\s+", " ").Trim();
}

答案 2 :(得分:1)

您可以使用String.Trim函数

char[] delimiterChars = { ',', ':', '|', '\n' };
List<string> sortBox1 = new List<string>(checkBox2.Checked ? textBox2.Text.Split(delimiterChars).Select(s => s.Trim()) : textBox2.Text.Split(delimiterChars));