使用C#,我需要一些代码来使用正则表达式用引号字符(|)替换引号内的空格.问题是该字符串可能包含多个带引号的表达式,我只想要引号内的空格.
我尝试了一些事情,但我正在努力解决如何处理可能在引号内的可变数量的单词等问题.
以下是可输入内容和所需输出的一些示例:
"word1 word2"
- >"word1 | word2"
"word1 word2"word3"word4 word5"
- >"word1 | word2"word3"word4 | word5"
word1"word2 word3"
- > word1"word2 | word3"
任何帮助非常感谢,希望我将学习正则表达式.
使用常规表达式查找引号,并使用普通替换来替换空格:
str = Regex.Replace(str, @"""[^""]+""", m => m.Value.Replace(' ', '|'));
Run Code Online (Sandbox Code Playgroud)