我想做的是取一个字符串,例如"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(使用前将#替换为@)