javascript - 在第 n 次出现的字符处剪切字符串

标签 javascript string substring slice

我想做的是获取一个字符串,例如 "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/

相关文章:

javascript - 如何在arbor js中为每个节点文本添加新行字符

r 将文本和数据框写入文件

php - 如何按长度对字符串数组进行排序并在 PHP 中维护它们的键?

java - 需要代码优化建议

Java - 寻找最长的子串 - LinkedList问题

javascript - 如何仅使用一个关键字搜索 MongoDB 集合中的所有键

javascript - 为什么我在使用 Array concat 时不断收到 TypeScript 错误 "No overload matches this call"?

javascript - React - 使用 Map 渲染对象数组

string - 在空格处拆分字符串,引号内除外

python - 如何定义一个检查DNA子串的函数?