vit*_*ore 2 .net c# regex replace
我不是很擅长正则表达式,但也许有一种简单的方法来完成这项任务.
我给了一个字符串 "bla @a bla @a1 bla"
我也给对像{"a", "a2"}
,{"a1", "a13"}
和我需要更换@a
同@a2
为第一对,并@a1
与@a13
第二之一.
问题是当我使用String.Replace
和寻找时@a
,它也会替换,@a1
但不应该.我需要它完全匹配@a
并避免在其他地方部分匹配它.
注意:给定的字符串也可以是括号,逗号,点等.但是,对将永远是[a-z]*[0-9]+
请帮助我替换正则表达式.
干杯
用途\b
:
@a\b
Run Code Online (Sandbox Code Playgroud)
\b
是零宽度字边界.基本上,这是什么意思是它相匹配的过渡,从单词字符(字母,数字,下划线),以非单词字符(一切),反之亦然,但不会"消耗"输入的任何部分(这是零宽度部).
例如:
string s1 = "bla @a bla @a1 bla ";
string s2 = Regex.Replace(s1, @"@a\b", "foo");
Console.WriteLine(s2);
Run Code Online (Sandbox Code Playgroud)
输出:
bla foo bla @a1 bla
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1870 次 |
最近记录: |