首页 文章

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

提问于
浏览
3

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

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

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

"word1 word2"

  • "word1|word2"

"word1 word2" word3 "word4 word5"

  • "word1|word2" word3 "word4|word5"

word1 "word2 word3"

  • word1 "word2|word3"

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

2 回答

  • 8

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

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

    有一个有用的网站来测试这样的东西,它被称为reFiddle

    http://refiddle.com

    我要做的就是用这个

    http://refiddle.com/288

    /["][^"]+["]/g

    要获取引号内的字符串,然后只对这些返回的字符串进行替换,那么你应该是金色的 .

相关问题