删除javascript中的字符串
我有一个网址说 现在,我想单独删除&src=test&part。我知道我们可以使用indexof,但不知何故,我无法获得获取下一个符号(&)并单独删除该部分的想法。 任何帮助。新的URL应该如下所示删除javascript中的字符串,javascript,Javascript,我有一个网址说 现在,我想单独删除&src=test&part。我知道我们可以使用indexof,但不知何故,我无法获得获取下一个符号(&)并单独删除该部分的想法。 任何帮助。新的URL应该如下所示 用这个怎么样 这假设“any”字符将位于“=”之后和下一个“&”之前,但如果您知道它可能是什么,则始终可以将更改为字符集-使用[] 这还假设由于+,在“=”之后但在“&”-之前至少有一个字符。但如果您认为字符串可能是“src=&img=test”,则可以将其更改为* 更新: 对于此问题,使用sp
用这个怎么样 这假设“any”字符将位于“=”之后和下一个“&”之前,但如果您知道它可能是什么,则始终可以将
更改为字符集-使用[]
这还假设由于+
,在“=”之后但在“&”-之前至少有一个字符。但如果您认为字符串可能是“src=&img=test”,则可以将其更改为*
更新:
对于此问题,使用split
可能是正确的选择,但前提是src=which
的位置仍然在“&&&”之后,但未知……例如,如果它是“&&img=test&src=test”。因此,只要始终存在“&&”以将静态部分与要更新的部分分开,您就可以使用如下内容:
这仍然假设了一些事情-主分割是“&&”…键是“src”,然后是“=”,然后是0个或更多字符…当然,键/值对由“&”分隔。如果你的问题没有这么广泛,那么我的第一个答案似乎很好。如果“src=test”不总是排在“&&”之后,则需要使用更“复杂”的正则表达式或此
split
方法。如何使用此方法
这假设“any”字符将位于“=”之后和下一个“&”之前,但如果您知道它可能是什么,则始终可以将
更改为字符集-使用[]
这还假设由于+
,在“=”之后但在“&”-之前至少有一个字符。但如果您认为字符串可能是“src=&img=test”,则可以将其更改为*
更新:
对于此问题,使用split
可能是正确的选择,但前提是src=which
的位置仍然在“&&&”之后,但未知……例如,如果它是“&&img=test&src=test”。因此,只要始终存在“&&”以将静态部分与要更新的部分分开,您就可以使用如下内容:
这仍然假设了一些事情-主分割是“&&”…键是“src”,然后是“=”,然后是0个或更多字符…当然,键/值对由“&”分隔。如果你的问题没有这么广泛,那么我的第一个答案似乎很好。如果“src=test”不总是排在“&&”之后,则需要使用更“复杂”的正则表达式或此split
方法。类似于:
url = "http://www.google.com/?v=as12&&src=test&img=test"
firstPart = url.split('&&')[0];
lastPart = url.split('&&')[1];
lastPart = lastPart.split('&')[1];
newUrl = firstPart+'&'+lastPart;
document.write(newUrl);
比如:
url = "http://www.google.com/?v=as12&&src=test&img=test"
firstPart = url.split('&&')[0];
lastPart = url.split('&&')[1];
lastPart = lastPart.split('&')[1];
newUrl = firstPart+'&'+lastPart;
document.write(newUrl);
详细信息:使用拆分方法 解决方案已编辑:我更改了以下内容,以测试最后一个查询字符串是否存在
var url = "http://www.google.com/?v=as12&&src=test&img=test";
var newUrl;
var splitString = url.split('&');
if (splitString.length > 3)
{
newURL = splitString[0] + "&" + splitString[3];
}
else
{
newURL = splitString[0];
}
详细信息:使用拆分方法 解决方案已编辑:我更改了以下内容,以测试最后一个查询字符串是否存在
var url = "http://www.google.com/?v=as12&&src=test&img=test";
var newUrl;
var splitString = url.split('&');
if (splitString.length > 3)
{
newURL = splitString[0] + "&" + splitString[3];
}
else
{
newURL = splitString[0];
}
var mystring=“”;mystring=mystring.replace(/\&src.&\}/,“”);警报(mystring);您是否尝试了javascript replace()方法,可能是helps@Harish:是的,作为答案发布…这不起作用unfortunately@Harish:它怎么不工作?您可以发布测试用例吗?var mystring=“”;mystring=mystring.replace(/\&src.&\}/,“”);警报(mystring);您是否尝试了javascript replace()方法,可能是helps@Harish:是的,作为答案发布…这不起作用unfortunately@Harish:它怎么不工作?你能发布测试用例吗?@Harish你确定在
src=test
之后会有一个&key=value
吗?@Harish好的,我只是想确定一下,因为如果它前面没有“&&”,后面没有“&”,你可能需要使用一个修改过的正则表达式或split方法来让它工作。这就是我的全部意思:)@ianpgall-回答得好!Harish-如果您的需求在没有最后一个查询字符串的情况下发生变化,请查看我的answer@Harish我刚刚用split
更新了我的答案。看起来我的原始答案应该适合你,但是一个更灵活的url
可能需要一个更复杂的正则表达式,或者像我提供的那样使用split
。@Harish你确定在src=test
之后会有一个&key=value
吗?@Harish好的,我只是想确定一下,因为如果没有“&&”在它之前和”&“之后,您可能需要使用修改后的正则表达式或拆分方法才能使其正常工作。这就是我的全部意思:)@ianpgall-回答得好!Harish-如果您的需求在没有最后一个查询字符串的情况下发生变化,请查看我的answer@Harish我刚刚用split
更新了我的答案。看起来我的原始答案应该适合您,但是更灵活的url
可能需要更复杂的正则表达式,或者像我提供的那样使用split
。
var url = "http://www.google.com/?v=as12&&src=test&img=test";
var newUrl;
var splitString = url.split('&');
if (splitString.length > 3)
{
newURL = splitString[0] + "&" + splitString[3];
}
else
{
newURL = splitString[0];
}