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