我有一个字符串,
var str = '12990|2346|5771|22523|73|16660|16770|16205|8407|13691|'
我想将此字符串拆分为前五个值,如12990 | 2346 | 5771 | 22523 | 73
我尝试过以下逻辑
str.split('|').slice(0,5)
但它以数组格式返回。我不希望这样。
答案 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]);

正则表达式将匹配一个或多个数字,后跟四个管道实例,后跟数字。
\d+
:匹配一个或多个数字\|
:匹配管道|
文字{4}
:恰好与前一组匹配四次 match
返回一个数组,以使用[0]
完成匹配。