假设我有一个这样的字符串:
var str = "/abcd/efgh/ijkl/xxx-1/xxx-2";
我如何使用 Javascript 和/或 jQuery 删除以str
开头的部分xxx
,直到结尾str
?
假设我有一个这样的字符串:
var str = "/abcd/efgh/ijkl/xxx-1/xxx-2";
我如何使用 Javascript 和/或 jQuery 删除以str
开头的部分xxx
,直到结尾str
?
str.substring( 0, str.indexOf( "xxx" ) );
只是:
s.substring(0, s.indexOf("xxx"))
处理无效输入和缺少匹配模式的更安全的版本是:
function trump(str, pattern) {
var trumped = ""; // default return for invalid string and pattern
if (str && str.length) {
trumped = str;
if (pattern && pattern.length) {
var idx = str.indexOf(pattern);
if (idx != -1) {
trumped = str.substring(0, idx);
}
}
}
return (trumped);
}
你会打电话给:
var s = trump("/abcd/efgh/ijkl/xxx-1/xxx-2", "xxx");
尝试使用string.slice(start, end)
:
如果您知道要删除的确切字符数,请从您的示例中:
var str = "/abcd/efgh/ijkl/xxx-1/xxx-2";
new_str = str.slice(0, -11);
这将导致str_new == '/abcd/efgh/ijkl/'
为什么这很有用:
如果'xxx'
引用任何字符串(如 OP 所说),即:'abc'、'1k3' 等,并且您事先不知道它们可能是什么(即:不恒定),则接受的答案,以及其他大多数都不起作用。
这将从字符串的开头到xxx
.
str.substring(0,str.indexOf("xxx"));