如何在JavaScript中的“:”之前删除字符串的一部分?


111

如果我有一个字符串Abc: Lorem ipsum sit amet,如何在:包含之前使用JavaScript / jQuery删除字符串:。例如,上面的字符串将变为:Lorem ipsum sit amet


2
我添加了javascript标记,因为它在问题中,并且比jquery与问题更相关。
Spudley

Answers:


290

这里不需要jQuery,常规的JavaScript可以做到:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

或者,.split()and .pop()版本:

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

或者,正则表达式版本(此版本的多个变体):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];

1
好的答案,我喜欢不同的解决方案
Aardvark,2010年

22
请注意,如果:字符串中不止一个,则第二个变量将在最后一个变量之后而不是其他变量中返回第一个。不幸的是,JS的split()方法中没有split-only-n-times选项,这使您可以执行Python样式.split(':', 1)[1]。(这里一个可选的number参数,但它不会做什么任何理智的人所期望的。)
bobince

@bobince-没错,我在这里假设他label: something格式一致,如果不是这种情况,我会选择第一种方法。
尼克·克拉弗

2
您可以拆分并合并以基于分隔符删除某些元素。 "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.