Javascript jquery url字符串操作和字符删除
我有三个案例: 1) 当字符串看起来像这样时,我需要从中删除Javascript jquery url字符串操作和字符删除,javascript,jquery,Javascript,Jquery,我有三个案例: 1) 当字符串看起来像这样时,我需要从中删除?3dtv=true 2) 当字符串看起来像这样时,/televisions?3dtv=true&brand=panasonic-我需要从中删除&brand=panasonic 3) 当字符串看起来像这样时/televisions?3dtv=true&brand=panasonic&led=true-我需要删除最后的所有内容&包括&so-&led=true 我想2号和3号是一样的 任何帮助都将不胜感激 您可以使用子字符串a lastIn
?3dtv=true
2) 当字符串看起来像这样时,/televisions?3dtv=true&brand=panasonic
-我需要从中删除&brand=panasonic
3) 当字符串看起来像这样时/televisions?3dtv=true&brand=panasonic&led=true-我需要删除最后的所有内容&包括&so-&led=true
我想2号和3号是一样的
任何帮助都将不胜感激 您可以使用子字符串a lastIndexOf的组合
var str = "/televisions?brand=panasonic?3dtv=true";
var newstr = str.substring(0, str.lastIndexOf('?'));
请注意,这只是JavaScript,不使用jquery库的任何方面。您可以使用子字符串a lastIndexOf的组合
var str = "/televisions?brand=panasonic?3dtv=true";
var newstr = str.substring(0, str.lastIndexOf('?'));
请注意,这只是JavaScript,不使用jQuery库的任何方面。
不幸的是,<代码> ListTimeXOF/<代码>只支持IE9,因此您可以考虑正则表达式:
var href = $(obj).next().attr('href').replace(/(?:&[^&]*|\?[^?]*)$/, '');
我根据新的要求相应地更新了答案。表达式将替换上一个&
的所有内容,如果没有,则替换?
的所有内容。由于交替从左到右进行评估,因此可以保证如果存在&…
,则会进行替换
解释如下:
/ # start expression
(?: # open non-capturing group
& # match & literally
[^&]* # match any character but & as often as possible
| # OR
\? # match ? literally
[^?]* # match any character but ? as often as possible
) # close group
$ # match the end of the string
/ # end expression
<>遗憾的是,<>代码> ListTimeXOF只支持IE9,因此您可以考虑正则表达式:
var href = $(obj).next().attr('href').replace(/(?:&[^&]*|\?[^?]*)$/, '');
我根据新的要求相应地更新了答案。表达式将替换上一个&
的所有内容,如果没有,则替换?
的所有内容。由于交替从左到右进行评估,因此可以保证如果存在&…
,则会进行替换
解释如下:
/ # start expression
(?: # open non-capturing group
& # match & literally
[^&]* # match any character but & as often as possible
| # OR
\? # match ? literally
[^?]* # match any character but ? as often as possible
) # close group
$ # match the end of the string
/ # end expression
+1为了得到支持,我没有意识到这一点。这个链接提到了它。我最近也发现了。。。。不幸的是,IE中从未支持所有好的函数;)(当然我有点夸张)不过我错过了一些东西。在我添加我的第一个?something=something它不做什么?s=s但它做了什么?something=something&s=s。在这种情况下,我需要删除&s=s,在第一种情况下,删除?something=something。我应该为这个问题创建一个新的问题吗?@bobek:我建议你编辑你的问题,并对其进行更详细的解释。因为我现在有点困惑,你想做什么。@bobek:更新了我的答案。。。请检查它是否符合您的需要。+1对于支持,我不知道。这个链接提到了它。我最近也发现了。。。。不幸的是,IE中从未支持所有好的函数;)(当然我有点夸张)不过我错过了一些东西。在我添加我的第一个?something=something它不做什么?s=s但它做了什么?something=something&s=s。在这种情况下,我需要删除&s=s,在第一种情况下,删除?something=something。我应该为这个问题创建一个新的问题吗?@bobek:我建议你编辑你的问题,并对其进行更详细的解释。因为我现在有点困惑,你想做什么。@bobek:更新了我的答案。。。请检查它是否适合您的需要。