如何从给定模式开始删除字符串的末尾
How to remove the end of a string, starting from a given pattern?
假设我有一个这样的字符串:
var str = "/abcd/efgh/ijkl/xxx-1/xxx-2";
我如何使用Javascript和/或jQuery删除从xxx
开始的str
部分,直到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"等,并且您事先不知道它们可能是什么(即:不是恒定的),则接受的答案以及大多数其他答案将不起作用。
试试这个:
str.substring(0, str.indexOf("xxx"));
indexOf
会找到xxx
的位置,substring
会剪出你想要的一块。
这将采取从字符串的开头到xxx
开头的所有内容。
str.substring(0,str.indexOf("xxx"));
相关文章:
- React 15使用空字符串删除输入值
- IE在将字符串转换为日期时从日期中删除4小时
- 从字符串末尾删除空白无效
- 如何使用javascript选择字符串的部分,添加html标记或删除部分
- 如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
- JavaScript从字符串中删除尾随空格和句点
- 正在删除'<以及那些>'来自javascript中的字符串
- jQuery 2.1 |删除重复子字符串的源子字符串
- 停止JSON.parse()从JSON字符串数据中删除尾随零
- 删除一个“;从javascript中的字符串末尾
- 从JavaScript中的名称-值对字符串中删除值
- 如何使用javascript在html表中删除字符串
- 如何在字符串中的值之前删除字符串中的动态数据?/ 使用 Lodash 的 _.trimStart 与动态数据
- 如何使用Jscript | JQuery在textArea中获取插入的|删除的字符串的索引和长度
- 如何删除“"使用javascript从字符串中提取字符
- 如何比较两个字符串并删除jquery中的元素
- javascript字符串删除X位置的一个字符并添加到起始位置
- JSON 字符串删除字符
- Javascript字符串删除空格和连字符
- Javascript字符串:删除除数字和第一个"