拆分字符串仅保留前几个值

时间:2017-04-27 11:11:17

标签: javascript

我有一个字符串,

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

我想将此字符串拆分为前五个值,如12990 | 2346 | 5771 | 22523 | 73

我尝试过以下逻辑

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

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

1 个答案:

答案 0 :(得分:7)

您可以使用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('|'));




OR,正则表达式也可以与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}:恰好与前一组匹配四次
  4. match返回一个数组,以使用[0]完成匹配。