在字符第 n 次出现时剪切字符串

2023-11-23

我想做的是取一个字符串,例如"this.those.that"并从第 n 次出现的字符获取子字符串。因此,从字符串的开头到第二次出现.会回来"this.those"。同样,从第二次出现开始.到字符串末尾将返回"that"。抱歉,如果我的问题很模糊,那么解释起来并不容易。另外,请不要建议创建额外的变量,结果将是字符串而不是数组。


您可以在没有数组的情况下完成此操作,但会需要更多代码并且可读性较差。

通常,您只想使用尽可能多的代码来完成工作,这也增加了可读性。如果您发现此任务正在成为性能问题(对其进行基准测试),then您可以决定开始重构以提高性能。

var str = 'this.those.that',
    delimiter = '.',
    start = 1,
    tokens = str.split(delimiter).slice(start),
    result = tokens.join(delimiter); // those.that
    
console.log(result)

// To get the substring BEFORE the nth occurence
var tokens2 = str.split(delimiter).slice(0, start),
    result2 = tokens2.join(delimiter); // this

console.log(result2)

jsFiddle.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在字符第 n 次出现时剪切字符串 的相关文章

随机推荐