我想做的是获取一个字符串,例如 "this.those.that"
并从第 n 个字符出现处获取子字符串。因此,从字符串的开头到 .
的第 2 次出现将返回 "this.those"
。同样,从 .
的第 2 次出现到字符串末尾将返回 "that"
。抱歉,如果我的问题含糊不清,那么解释起来并不容易。另外,请不要建议创建额外的变量,结果将是字符串而不是数组。
最佳答案
你可以在没有数组的情况下做到这一点,但它会需要更多的代码并且可读性较差。
通常,您只想使用尽可能多的代码来完成工作,这也增加了可读性。如果您发现此任务正在成为一个性能问题(对其进行基准测试),然后您可以决定开始重构性能。
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 .
关于javascript - 在第 n 次出现的字符处剪切字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5494691/