我有一些文本,其中许多单词的字母之间有空格。所以,我需要一个脚本,可以删除这些空格。例如,字符串“Hello,this is a B e a ut i f ul day”变为“Hello,this is a beautiful day”
我试过这样的东西:
string input="Hello, this is a b e a u t i f u l day";
string pattern = @"\b(\w\s\w)+\b";
string result = Regex.Replace(input, pattern, match =>
{
string wordWithSpaces = match.Value;
string wordWithoutSpaces = wordWithSpaces.Replace(" ", "");
return wordWithoutSpaces;
});
但不能正常工作
2条答案
按热度按时间0md85ypi1#
如果你可以依靠空格扩展的单词每边有2个空格,你可以用它来确定正确的位置
现场示例:https://dotnetfiddle.net/bBIoMl
x4shl7ld2#
你这样试试:
输出:
说明:
**@"\B(\w)(?:\s\w)+\B”**匹配字母间有空格的单词。
**(?:\s\w)+**part捕获一个或多个空格后跟一个单词字符。
在Regex.Replace回调函数中,我再次使用Regex.Replace删除匹配单词中的所有空格。