Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
JQuery:如何替换某些字符之间的所有字符?_Jquery_Replace - Fatal编程技术网

JQuery:如何替换某些字符之间的所有字符?

JQuery:如何替换某些字符之间的所有字符?,jquery,replace,Jquery,Replace,我一直在寻找这个问题的一般解决方案,但只找到了特定问题的答案 基本上,我想知道如何使用.replace替换字符串中任何类型字符之间的项,例如: 替换abc和xyz之间的所有文本,包括:要替换xyz的abc文本 或替换介于和之间的所有文本 有人能帮我解决这个问题,或者给我指出一个好的方向吗 谢谢!如果需要进一步澄清,请告诉我。您要查找的是正则表达式。有关详细信息,您可以访问以下网站: 请注意,正则表达式不是特定于JavaScript的 对于您的具体示例: string.replace(/abc.

我一直在寻找这个问题的一般解决方案,但只找到了特定问题的答案

基本上,我想知道如何使用.replace替换字符串中任何类型字符之间的项,例如:

替换abc和xyz之间的所有文本,包括:要替换xyz的abc文本

或替换介于和之间的所有文本

有人能帮我解决这个问题,或者给我指出一个好的方向吗


谢谢!如果需要进一步澄清,请告诉我。

您要查找的是正则表达式。有关详细信息,您可以访问以下网站:

请注意,正则表达式不是特定于JavaScript的

对于您的具体示例:

string.replace(/abc.+xyz/,"abc"+newString+"xyz");
。表示任意字符,+表示一次或多次出现

如果要进行多个替换,请尝试:

string.replace(/abc.+?xyz/g,"abc"+newString+"xyz");

g代表将军,和?是惰性量词,意味着它将在字符串中下一个出现xyz时停止。

您要查找的内容称为正则表达式。有关详细信息,您可以访问以下网站:

请注意,正则表达式不是特定于JavaScript的

对于您的具体示例:

string.replace(/abc.+xyz/,"abc"+newString+"xyz");
。表示任意字符,+表示一次或多次出现

如果要进行多个替换,请尝试:

string.replace(/abc.+?xyz/g,"abc"+newString+"xyz");
g代表将军,和?是惰性量词,表示它将在字符串中下次出现xyz时停止。

String.prototype.replacetween=函数opentag、closetag、replacement{ var read_index=0; var开放指数=0; var闭合指数=0; var输出=; 当open_index=this.indexofopenag时,读取_index!=-1{ output+=this.sliceread\u index,open\u index+opentag; read_index=open_index+opentag.length; 如果close\u index=this.indexOfclosetag,则读取\u index!=-1{ 如果替换类型==“函数”{ output+=replacementthis.substringopen\u index+opentag.length,close\u index-1+closetag; }否则{ 输出+=更换+关闭标签; } read_index=close_index+closetag.length; } } 输出+=此.sliceread\u索引; 返回输出 }; var mydiv=document.getElementByIdmydiv; var html=mydiv.innerHTML; html=html.replacetween,您好; html=html.replacetween,functionbody{ 返回body+‘世界’; }; mydiv.innerHTML=html; 和酒吧的开始。。。结束。 String.prototype.replacetween=函数opentag、closetag、replacement{ var read_index=0; var开放指数=0; var闭合指数=0; var输出=; 当open_index=this.indexofopenag时,读取_index!=-1{ output+=this.sliceread\u index,open\u index+opentag; read_index=open_index+opentag.length; 如果close\u index=this.indexOfclosetag,则读取\u index!=-1{ 如果替换类型==“函数”{ output+=replacementthis.substringopen\u index+opentag.length,close\u index-1+closetag; }否则{ 输出+=更换+关闭标签; } read_index=close_index+closetag.length; } } 输出+=此.sliceread\u索引; 返回输出 }; var mydiv=document.getElementByIdmydiv; var html=mydiv.innerHTML; html=html.replacetween,您好; html=html.replacetween,functionbody{ 返回body+‘世界’; }; mydiv.innerHTML=html;
和酒吧的开始。。。结束了。你可能想用一个懒散的量词。谢谢克里斯托夫,但我似乎不能让它在一个以上的场合起作用。我试过的字符串有几个图像实例,使用.replace/,;我能够移除第一个,但没有任何其他的。这是否需要调整?对于多次出现的情况,我已根据@ddlshack的建议更新了答案并包含懒惰量词。您可能希望使用懒惰量词。谢谢Christophe,但我似乎无法在一次以上的情况下使用它。我试过的字符串有几个图像实例,使用.replace/,;我能够移除第一个,但没有任何其他的。这是否应该调整?对于多次出现的情况,我已经更新了答案,并根据@ddlshack的建议添加了懒惰量词。