2011-05-17 109 views
0

我需要一个正则表达式来替换此格式xxx(zzz)xxx中的xxx()xxx。正则表达式在c#中替换xxx(zzz)xxx格式

这里是例如:萨拉(56)峡谷=> 56

+0

正则表达式的语言/风格? – 2011-05-17 14:17:08

+0

其实在我心中没有apear,但我只知道它一定是像str.Replace(“/ w/d(*)/ w/d”),但*未通过 – ShirazITCo 2011-05-17 14:18:33

+2

即时通讯使用C#(主题中提到) – ShirazITCo 2011-05-17 14:19:05

回答

1

C#:

var result = Regex.Replace("Sara(56)Gorge", @"[^(]*\(([^)]*)\)[^(]*", "$1"); 
+0

我不知道不要认为'zzz'必然是数字。另外,峡谷不能包含偏旁的原因是什么? – Tim 2011-05-17 14:19:01

+0

@Tim:关于数字:已经修复。关于峡谷不包括括号:我不得不提出一些分隔符,因为OP没有规定明确的规则。 – 2011-05-17 14:20:29

1

可以使用以下正则表达式:

@"\S+?\((\S+?)\)\S+" 

如下:

var pattern = @"\S+?\((\S+?)\)\S+" 
var replaced = Regex.Replace(text, pattern, "$1");