首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex问题与替换简单字符串

Regex问题与替换简单字符串
EN

Stack Overflow用户
提问于 2013-08-09 08:48:19
回答 3查看 77关注 0票数 1

我使用Regex替换如下:

代码语言:javascript
复制
string test = "[abc] Sends the employee mail. [twist] Sends the employee mail.";
test = Regex.Replace(test, "[twist]", "hello");

其结果是:

代码语言:javascript
复制
test = "[abc] Sendhello hellohe employee mahellol. [hellohellohellohellohello] Sendhello hellohe employee mahellol."

,因为它应该用hello.代替扭弦。

这里出了什么问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-09 08:49:25

您必须转义括号(至少是开头的那个)。变化

代码语言:javascript
复制
"[twist]"

代码语言:javascript
复制
"\\[twist\\]"

或者,使用逐字文字来避免双重\

代码语言:javascript
复制
@"\[twist\]"

[twist]被解释为任何t、w、i、s或t字符,其中任何字符都被hello字符串替换。

票数 3
EN

Stack Overflow用户

发布于 2013-08-09 08:58:43

Regex.Replace(测试,“[扭曲]”,“你好”)

票数 0
EN

Stack Overflow用户

发布于 2013-08-09 09:15:04

作为额外的有用信息,您可以将[转义为[[],因此

代码语言:javascript
复制
"[[]twist]"

或者你可以

代码语言:javascript
复制
"\\x5btwist]"

其中\x5b[的ascii代码。请注意,您需要转义\ of \x5b,因为否则"\x5b" == "[" ( C#会替换字符串)。通过转义它,是Regex“接收”\x5b并将其视为[。显然,可以使用@禁用转义序列展开。

代码语言:javascript
复制
@"\x5btwist]"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18143123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档