关于 c#:Regex – 用制表符替换多个空格

Regex - Replacing multiple spaces with tab

我正在使用下面的代码示例,我想做的是将所有多个空格替换为 1 \\\\\\\\t.

所以

1
"I am    having fun             working  on       Regex"

返回

1
"I am\\thaving fun\\tworking\\ton\\tRegex"

当前代码:

1
2
3
RegexOptions options = RegexOptions.None;
Regex regex = new Regex(@"[ ]{2,}", options);    
tempo = regex.Replace(tempo, @"");

谢谢!


只要这样做:

1
resultString = Regex.Replace(subjectString," {2,}", @"\\t");

您在尝试中忘记了 \\t


在您的示例中,您将多个空格替换为一行中的一个空格:

1
tempo = regex.Replace(tempo, @"");

你想要的,是用制表符替换,写成 \\t:

1
tempo = regex.Replace(tempo,"\\t");

请注意,我在对 Replace 的调用中从字符串中删除了 @ 字符,否则 @"\\t" 将被解释为"字符串反斜杠 t"而不是制表符。