匹配字符串模式的Regexp可以包含C#中的全部或部分名称

时间:2010-11-12 19:48:14

标签: regex

我要求替换姓氏的所有出现。但是,目标字符串包含姓氏的所有字母或仅包含它的FEW字符。目标字符串长度不超过30个字符,并按字符“/”细分为“部分”(如果此信息有帮助)

例如,我们假设我们有一个姓氏= FLAHERTY,我正在改为PERRINS

我想在下面的每个字符串中替换上面名称的所有字符串,字符的字符。下面是示例之前和之后。

MCDONN(3)/ FLAH(3)CLAUSSEN预期 - > MCDONN(3)/ PERR(3)CLAUSSEN

MCDONN(3)/ FLAHER(3)/ CLAUS期望 - > MCDONN(3)/ PERRIN(3)/ CLAUS

AB / BARAN / SHOOK(ATL)/ FLAHERT(SM预期 - > AB / BARAN / SHOOK(ATL)/ PERRINS(SM

预期STELL / RUBIN /(STELL / CLAUS / FLAH) - > STELL / RUBIN /(STELL / CLAUS / PERR)

1 个答案:

答案 0 :(得分:1)

这将是一个基于JavaScript的解决方案:

var str  = "MCDONN(3)/FLAH(3)CLAUSSEN";
var find = /\bFLA(H(E(R(T(Y?)?)?)?)?)?\b/g; // assuming first 3 chars are req'd
var repl = "PERRINS";

var str2 = str.replace(find, function(match) {
  return repl.substr(0, match.length);
});
// -> "MCDONN(3)/PERR(3)CLAUSSEN"