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

标签 c# regex

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

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

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

“字1字2”
-> "word1|word2"

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

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

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

最佳答案

使用正则表达式查找引号,使用简单的 Replace 替换空格:

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

关于c# - 需要 C# Regex 来替换字符串中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11148974/

相关文章:

ruby - 如何正则表达式验证 100000 - 999999999 范围内的一串数字?

javascript - 为什么连续调用 `pattern.test(name)` 结果相反

python - 使代码不那么复杂,更具可读性

c# - 我将如何做一些简单的文件加密和解密?

javascript - 提取URL中特定字符之后到特定字符的字符

java - 用 Map 中的 RegEx 键替换所有出现的字符串

c# - 如何在基类中创建对象的克隆?

c# - 列表不包含 'ToPagedList' 的定义

c# - 无法识别 List<InterfaceType> 的扩展方法

c# - 在网络上获取图像的尺寸 - 避免内存占用?