我要求替换姓氏的所有出现。但是,目标字符串包含姓氏的所有字母或仅包含它的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)答案 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"