从部分字符串中删除文本

时间:2017-09-15 15:25:25

标签: javascript string function substring substr

我需要删除不同字符串中的文字。

我需要一个可以实现以下功能的功能......

test: example1
preview: sample2
sneakpeak: model3
view: case4

......看起来像这样:

example1
sample2
model3
case4

我尝试使用substrsubstring函数,但无法找到解决方案。

我使用selected.substr(0, selected.indexOf(':')),但所有返回给我的都是结肠前面的文字。 selected是包含文本字符串的变量。

由于字符串长度不同,它也是不能硬编码的东西。有什么建议吗?

4 个答案:

答案 0 :(得分:2)

substring有两个参数:剪切的开始和剪切的结束(可选)。

substr有两个参数:剪切的开始和剪切的长度(可选)。

你应该只使用substr一个参数,切割的开始(省略第二个参数会使substr从开始索引切换到结束):

var result = selected.substr(selected.indexOf(':'));

您可能希望trim结果删除结果周围的空格:

var result = selected.substr(selected.indexOf(':')).trim();

答案 1 :(得分:2)

使用split功能。 split将返回一个数组。要删除空格,请使用trim()



var res = "test: example1".split(':')[1].trim();

console.log(res);




答案 2 :(得分:0)

试试这个:



function getNewStr(str, delimeter = ':') {


  return str.substr( str.indexOf(delimeter) + 1).trim();


}




答案 3 :(得分:0)

您可以使用正则表达式/[a-z]*:\s/gim执行此操作 请参阅下面的示例代码段



var string = "test: example1\n\
preview: sample2\n\
sneakpeak: model3\n\
view: case4";

var replace = string.replace(/[a-z]*:\s/gim, "");

console.log(replace);




输出将是:

example1
sample2
model3
case4