Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript替换具有匹配值的字符串部分_Javascript_Regex_Lodash - Fatal编程技术网

Javascript替换具有匹配值的字符串部分

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+'%.*?%'

我有这个字符串,需要删除与值匹配的and子句。例如:
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你的问题一开始不清楚,但是我已经根据你的评论更新了答案你试过我的答案了吗?那对你有用吗?