我需要删除不同字符串中的文字。
我需要一个可以实现以下功能的功能......
test: example1
preview: sample2
sneakpeak: model3
view: case4
......看起来像这样:
example1
sample2
model3
case4
我尝试使用substr
和substring
函数,但无法找到解决方案。
我使用selected.substr(0, selected.indexOf(':'))
,但所有返回给我的都是结肠前面的文字。 selected
是包含文本字符串的变量。
由于字符串长度不同,它也是不能硬编码的东西。有什么建议吗?
答案 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