如果输入字符串,我需要添加空白区域,如下所示:
"你好,世界"
将它传递给文本文档,如下所示:
"你好,世界" 带有空格并在地方留下标点符号。
换句话说,如果下一个单词与前一个单词标点符号合并,我需要在标点符号后添加一个空格。我需要它,包括所有,逗号,点,感叹号和短划线。
所以我不确定,如果我可以使用它:
string input = "hello,world,world,world";
string pattern = @",(\S)";
string substitution = @", ";
Regex regex = new Regex(pattern);
string result = regex.Replace(input, substitution);
但结果它在标点符号后剪切了单词的第一个字符:
hello, orld, orld, orld
并且期望的结果应该是:
"hello, world, world, world"
答案 0 :(得分:0)
使用获得Regex.Replace
委托的MatchEvaluator
重载:
string input = "hello!world.world-world";
var result = Regex.Replace(input, @"[\,\.\-\!]", (m) => m + " ");
// hello! world. world- world
有关MatchEvaluator
的详情,请参阅:How does MatchEvaluator in Regex.Replace work?