0

我想要 C# 中的 regx 模式,它只在中间出现的任何字符串中找到子字符串。比方说,

Input : "toprohitpop rohittoppop toppoprohit" 

查找子字符串:"rohit"

用。。。来代替 :"$$$$"

输出 :"top$$$$pop rohittoppop toppoprohit"

如果子字符串 "rohit" 出现在字符串的左侧或右侧,则不应替换它。子字符串 "rohit" 仅在出现在字符串中间时才会被替换。

提前致谢。

4

3 回答 3

4

使用非断词锚:

\Brohit\B

只有在单词中间\B时才会匹配。

阅读它。

于 2013-09-12T11:56:33.630 回答
1
var input = "toprohitpop rohittoppop toppoprohit";
var regex = new Regex(@"\Brohit\B");
var output = regex.Replace(input, "$$$$$$$$");

请参阅正则表达式语言中的“锚点” 。

此外,请注意替换字符串中的“$”(请参阅​​注释)

于 2013-09-12T12:00:07.430 回答
-2

使用以下正则表达式:.+rohit.+

基本上它在 rohit 之前和之后至少强制执行一个字符

于 2013-09-12T11:58:05.040 回答