我使用正则表达式删除了字符串中所有多余的白色 space,但是当它执行时,它删除了多余的白色 spaces 但在最后留下了 1 space
I used regex to remove all extra white space in my string, but when it executes, it removes extra white spaces but leaves 1 space at the end
我的问题已经说明了我的问题。那么如何正确删除字符串中所有多余的白色 space?
假设破折号是 spaces。
我的字符串=“[------------na----我-----]”
output = "name-"(字符串末尾有个space)
我在离开事件中使用了此代码。
((Control)sender).Text = Regex.Replace(((Control)sender).Text, @"\s+", " ");
((Control)sender).Text.TrimEnd(' ');
您似乎有错字。您的主要问题似乎出在您对 Regex.Replace
的调用中。仔细看这一行:" "
表示用一个 space 替换 space 的序列。尝试将 " "
更改为 ""
。
此外,((Control)sender).Text.TrimEnd(' ');
returns 一个新字符串并且永远不会更新 ((Control)sender).Text
。也许您打算再次将结果分配给 Text
?请记住,在 C# 中,字符串是不可变的。但是,通过将 " "
更改为 ""
,您应该不再需要该行了。
注意:此答案基于示例代码。但是,示例字符串和输出与示例代码不匹配。
我想你可能想多了。
您是否考虑过使用字符串替换方法。
例如:
string s = "[ na me ]";
var s2 = s.Replace(" ", "");
Console.WriteLine(s);
Console.WriteLine(s2);
您可能 运行 进入空格,即 \r\n
,因此请改用此模式:[\s\r\n]+
获取所有空格以及任何回车符 return 和行饲料。同样为了简洁起见,使用 string.empty
而不是 ""
作为替换文本。
我的问题已经说明了我的问题。那么如何正确删除字符串中所有多余的白色 space?
假设破折号是 spaces。
我的字符串=“[------------na----我-----]”
output = "name-"(字符串末尾有个space)
我在离开事件中使用了此代码。
((Control)sender).Text = Regex.Replace(((Control)sender).Text, @"\s+", " ");
((Control)sender).Text.TrimEnd(' ');
您似乎有错字。您的主要问题似乎出在您对 Regex.Replace
的调用中。仔细看这一行:" "
表示用一个 space 替换 space 的序列。尝试将 " "
更改为 ""
。
此外,((Control)sender).Text.TrimEnd(' ');
returns 一个新字符串并且永远不会更新 ((Control)sender).Text
。也许您打算再次将结果分配给 Text
?请记住,在 C# 中,字符串是不可变的。但是,通过将 " "
更改为 ""
,您应该不再需要该行了。
注意:此答案基于示例代码。但是,示例字符串和输出与示例代码不匹配。
我想你可能想多了。
您是否考虑过使用字符串替换方法。
例如:
string s = "[ na me ]";
var s2 = s.Replace(" ", "");
Console.WriteLine(s);
Console.WriteLine(s2);
您可能 运行 进入空格,即 \r\n
,因此请改用此模式:[\s\r\n]+
获取所有空格以及任何回车符 return 和行饲料。同样为了简洁起见,使用 string.empty
而不是 ""
作为替换文本。