如果这些格式字符出现在两个引号("
)之间,我有一个正则表达式应该替换所有格式字符(\t, \r\, \n, \v, whitespace
)和~
个字符。在引号内替换所有格式字符
我的代码没有产生所需的结果,取而代之的是用~
代替第一个引号,然后将剩下的代替。 我的正则表达式有什么问题,以及我如何才能达到我想要的效果?
对于下面的字符串:name "Right \r\nCurb"
结果应该是:name "Right~~~Curb"
但我的代码是生产:name ~Right \r\nCurb"
我的代码:
const string delimeters = "(\"*[\\t\\r\\n\\v\\b\\s]\")";
var openBrkRgx = new Regex(delimeters);
line = openBrkRgx.Replace(line, "~");
你为什么要双转义字符类的项目? –
@AmalMurali在C#中,我认为我必须这样做,因为这些格式字符在2个引用组内(嵌套两次)。也许我不需要但是?编辑:刚刚检查,是的C#给出了1个转义字符的编译错误。 – Mack