Javascript替换具有匹配值的字符串部分
我有这个字符串,需要删除与值匹配的and子句。例如:Javascript替换具有匹配值的字符串部分,javascript,regex,lodash,Javascript,Regex,Lodash,我有这个字符串,需要删除与值匹配的and子句。例如:RHID='540'和类似于'%44%'的SEQ以及类似于'%999%'的NR_DOCUMENTO 如果值为“%999%”,我需要删除和NR_文档,如“%999%”。 如果值为“%44%”,我需要删除和类似“%44%”的SEQ 注意:AND query部分是动态的,可能有不同的内容,因此更像是查找值并向后删除到AND,您可以尝试以下操作: AND(?=(?:(?!AND).)*'%(?:44|999)%').*?LIKE\s+'%.*?%'
RHID='540'和类似于'%44%'的SEQ以及类似于'%999%'的NR_DOCUMENTO
如果值为“%999%”,我需要删除和NR_文档,如“%999%”
。
如果值为“%44%”,我需要删除和类似“%44%”的SEQ
注意:AND query部分是动态的,可能有不同的内容,因此更像是查找值并向后删除到AND,您可以尝试以下操作:
AND(?=(?:(?!AND).)*'%(?:44|999)%').*?LIKE\s+'%.*?%'
const regex=/和(?=(?:(?!AND)。*'%(?:44 | 999)%')像\s+'%.*?%/gim;
常量str=`540'和sEQ类'%44%'和NR_DOCUMENTO类'%45%'和bla bla bla bla类'%999%';
const result=str.replace(regex,``);
控制台日志(结果)代码>这应该可以做到:
var string = "RHID = '540' AND SEQ LIKE '%44%' AND NR_DOCUMENTO LIKE '%999%'";
function replaceIt (valueSEQ, valueLIKE) {
return string.replace(" AND SEQ LIKE '%" + valueSEQ +"%'", "")
.replace(" AND NR_DOCUMENTO LIKE '%" + valueLIKE + "%'", "");
}
console.log( replaceIt(44, 999) );
var string=“RHID='540'和类似于'%44%'的序列,以及类似于'%999%'的NR_DOCUMENTO”;
函数replaceIt(valueSEQ,valueLIKE){
返回字符串.replace(“和序列类似“%”+valueSEQ+“%”,“”)
.replace(“和NR_DOCUMENTO LIKE“%”+valueLIKE+“%”,“”);
}
控制台日志(replaceIt(44999))代码>但这更一般。。。假设我们永远不知道字符串,只知道值更像是找到值并向后删除到AND@LeonelMatiasDomingos你的问题一开始不清楚,但是我已经根据你的评论更新了答案你试过我的答案了吗?那对你有用吗?