有没有办法删除某个角色后的所有内容,或者只选择该角色的所有内容?我从href获得了值,直到“?”,并且它总是会有不同数量的字符。
喜欢这个
/Controller/Action?id=11112&value=4444
我希望href只有/Controller/Action
,所以我想在“?”之后删除所有内容。
我现在正在使用它:
$('.Delete').click(function (e) {
e.preventDefault();
var id = $(this).parents('tr:first').attr('id');
var url = $(this).attr('href');
console.log(url);
}
答案 0 :(得分:384)
var s = '/Controller/Action?id=11112&value=4444';
s = s.substring(0, s.indexOf('?'));
document.write(s);
修改:
我还应该提一下,本机字符串函数比正则表达式快得多,正则表达式应该只在必要时使用(这不是其中一种情况)。
第二次编辑:
更新了无'?'的代码:
var s = '/Controller/Action';
var n = s.indexOf('?');
s = s.substring(0, n != -1 ? n : s.length);
document.write(s);
答案 1 :(得分:229)
答案 2 :(得分:15)
var href = "/Controller/Action?id=11112&value=4444";
href = href.replace(/\?.*/,'');
href ; //# => /Controller/Action
如果发现'?',这将有效如果它没有
答案 3 :(得分:1)
如果你还想留下“?”然后删除在特定字符后的所有内容,你可以这样做:
var str = "/Controller/Action?id=11112&value=4444",
stripped = str.substring(0, str.indexOf('?') + '?'.length);
// output: /Controller/Action?
答案 4 :(得分:1)
dump().onComplete {
case result =>
println(s"Dump result: $result")
//driver.close()
}
输出将为var fromLeft = 8;
var s = '/Verify/Action?id=11112&value=4444';
s = s.substring(fromLeft , s.indexOf('/'));
alert(s);
答案 5 :(得分:1)
它对我非常有用:
var x = '/Controller/Action?id=11112&value=4444';
var remove_after= x.indexOf('?');
var result = x.substring(0, remove_after);
alert(x);
答案 6 :(得分:0)
为我工作:
var first = regexLabelOut.replace(/,.*/g, "");
答案 7 :(得分:0)
可能是很晚的聚会:p
您可以使用向后引用$'
$' - Inserts the portion of the string that follows the matched substring.
let str = "/Controller/Action?id=11112&value=4444"
let output = str.replace(/\?.+/g,"$'")
console.log(output)
答案 8 :(得分:-2)
可以使用JavaScript轻松完成参考链接 JS String
EDIT 它可以轻松完成。 ;)
var url="/Controller/Action?id=11112&value=4444 ";
var parameter_Start_index=url.indexOf('?');
var action_URL = url.substring(0, parameter_Start_index);
alert('action_URL : '+action_URL);