javascript - 拆分字符串以仅保存前几个值

标签 javascript

我有一个字符串,

var str = '12990|2346|5771|22523|73|16660|16770|16205|8407|13691|'

我想拆分这个字符串以保存前五个值,例如 12990|2346|5771|22523|73

我试过以下逻辑

str.split('|').slice(0,5)

但它以数组格式返回。我不希望那样。

最佳答案

您可以使用 join() 加入切片数组

str.split('|').slice(0, 5).join('|');

var str = '12990|2346|5771|22523|73|16660|16770|16205|8407|13691|';
console.log(str.split('|').slice(0, 5).join('|'));

或者,正则表达式也可以与 match()

一起使用
str.match(/\d+(\|\d+){4}/)[0]

var str = '12990|2346|5771|22523|73|16660|16770|16205|8407|13691|';
console.log(str.match(/\d+(\|\d+){4}/)[0]);

正则表达式将匹配一个或多个数字后跟四个管道实例,后跟数字。

  1. \d+:匹配一个或多个数字
  2. \|:匹配管道|字面量
  3. {4}:正好匹配前一组四次

match 返回一个数组,要获得完整的匹配使用 [0]

关于javascript - 拆分字符串以仅保存前几个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43656118/

相关文章:

javascript - 为什么 Angular JS 中的依赖注入(inject)比手动管理依赖更好?

javascript - 如何返回到随机文本生成器函数的开头?

javascript - jquery下拉菜单和ajax窗口之间的冲突

javascript - JavaScript 中的初始化函数及其工作原理

javascript - 如何从 n 个类中获取特定的类,以 javascript 开头?

javascript - 如何像本示例中使用工厂函数一样使用 es6 类的组合?

在selenium中选择javascript

javascript - jQuery 添加和删除类检查

javascript - 如何在 socket.io 和 Node.js 中使用 Asterisk ARI

javascript - jQuery 未捕获类型错误 : Cannot read property 'nodeType' of undefined