繁体   English   中英

Regex.Replace()用于替换整个事件

[英]Regex.Replace() for replacing the whole occurrence

我使用regex.Replace()来替换整个字符串的出现..所以我给了Regex.Replace(str,@ stringToReplace,“**”); 其中stringToReplace = @“session”+“\\ b”;

如果我这样给它不替换..但如果我给像Regex.Replace(str,@“session \\ b”,“**”); 然后它的工作..如何避免这..我想传递将动态设置的值..

谢谢nimmi

尝试

stringToReplace = @"session" + @"\b";

@ here表示逐字字符串文字

当你在没有@情况下写“\\ b”时,它表示退格字符,即带有ASCII码8的字符。你想要一个由反斜杠后跟一个b组成的字符串,这意味着在正则表达式中有一个单词边界。

要得到这个,你需要转义反斜杠使其成为字面反斜杠: "\\\\b"或将第二个字符串也变成逐字字符串文字: @"\\b" 另请注意, @ in @"session" (没有\\b )实际上没有效果,尽管将它留在那里没有任何害处。

stringToReplace = "session" + @"\b";

@“session”+“\\ b”和@“session \\ b”

字符串不一样。 在第一种情况下,“\\ b”不会将斜杠视为斜杠,而是将其视为转义参数。 在第二种情况下你做。

所以@“session”+ @“\\ b”应该带来相同的结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM