Nodejs - 拆分字符串

时间:2015-08-09 15:31:45

标签: javascript node.js

我有以下字符串:

'SCAR-20 | Sand Mesh (Battle-Scarred)'

我需要将其分为3个不同的部分,我的输出应该是3个变量 - 例如:

var part1 = 'SCAR-20';
var part2 = 'Sand Mesh';
var part3 = 'Battle-Scared';

虽然字符串会改变,但字符串的结构总是一样的:

'part1 | part2 (part3)'

3 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式来获取它:

var re = /^(.*).?\|(.*)\((.*)\)/; 
var str = 'SCAR-20 | Sand Mesh (Battle-Scarred)';
var m;

m = str.match(re,'');
var firstPart = m[1];
var secondPart = m[2].trim();
var thirdPart = m[2];

答案 1 :(得分:2)

我在正则表达式上非常糟糕,但这很有效;

var str = 'SCAR-20 | Sand Mesh (Battle-Scarred)'
var regex = /(.+) \| (.+) \((.+)\)/
var match = str.match(regex);
var part1 = match[1];
var part2 = match[2];
var part3 = match[3];

DEMO

答案 2 :(得分:0)

或者没有正则表达式:

var first = 'part1 | part2 (part3)'.split('|');
var second = first[1].split('(');
var part1 = first[0].trim();
var part2 = second[0].trim();
var part3 = second[1].substring(0, second[1].indexOf(')')).trim();
console.log(part1, part2, part3);