需要C#Regex来替换字符串中的空格

joh*_*hna 3 c# regex

使用C#,我需要一些代码来使用正则表达式用引号字符(|)替换引号内的空格.问题是该字符串可能包含多个带引号的表达式,我只想要引号内的空格.

我尝试了一些事情,但我正在努力解决如何处理可能在引号内的可变数量的单词等问题.

以下是可输入内容和所需输出的一些示例:

"word1 word2"
- >"word1 | word2"

"word1 word2"word3"word4 word5"
- >"word1 | word2"word3"word4 | word5"

word1"word2 word3"
- > word1"word2 | word3"

任何帮助非常感谢,希望我将学习正则表达式.

Guf*_*ffa 8

使用常规表达式查找引号,并使用普通替换来替换空格:

str = Regex.Replace(str, @"""[^""]+""", m => m.Value.Replace(' ', '|'));
Run Code Online (Sandbox Code Playgroud)