将双引号替换为空,将三重双替换为双

时间:2018-11-27 10:37:16

标签: c# regex double-quotes

我想用string.Empty替换单双引号,并用双引号替换三重双引号,如下所示:

"StackOverflow"    --->    StackOverflow
"""StackOverflow"   --->   "StackOverflow"

我想指出,源文本将仅包含双引号或三重双引号,其他情况无关紧要。

更新:

假设我们有这样的输入文本:

"StackOverflow"
"""StackOverflow"""

我需要将其转换为:

StackOverflow
"StackOverflow"

我知道我无法使用纯C#代码(没有一些脏代码)执行此操作,因为我需要检测确切的单双引号在哪里以及双引号多次出现在哪里。我认为只能使用正则表达式才能完成,我的所有尝试都失败了:

[\"]{1}

1 个答案:

答案 0 :(得分:3)

您可以使用此正则表达式,它匹配任何一种情况,并用适当捕获的组文本替换。匹配此正则表达式

(")""|"

并将其替换为\ 1

Demo

让我知道这是否适合您。