我有一个字符串 -'A(10), B(20), C(30), D(40), E(10), F(0),'
我想拆分它,以便得到括号外的所有值,用逗号分隔。
输出 -A B C D E F
我正在尝试在 JavaScript 中执行此操作。有任何想法吗?
我有一个字符串 -'A(10), B(20), C(30), D(40), E(10), F(0),'
我想拆分它,以便得到括号外的所有值,用逗号分隔。
输出 -A B C D E F
我正在尝试在 JavaScript 中执行此操作。有任何想法吗?
为什么不简单:
var str = 'A(10), B(20), C(30), D(40), E(10), F(0),';
console.log(str.match(/([A-Z])(?=\()/g)); // ["A", "B", "C", "D", "E", "F"]
更新,对于“整数或字符”的要求:
var str = 'A3(10), aB(20), 34(30), D(40), E(10), F(0),';
console.log(str.match(/([A-Z0-9]+)(?=\()/g)); // ["A3", "B", "34", "D", "E", "F"]
如果您更喜欢简单的字符串,而不是数组:
var str = 'A3(10), aB(20), 34(30), D(40), E(10), F(0),';
console.log(str.match(/([A-Z0-9]+)(?=\()/g)).join(' '); // A3 B 34 D E F
参考:
拆分它,以便我得到括号外的所有值,用逗号拆分
'A(10), B(20), C(30), D(40), E(10), F(0),'.replace(/\(\d+\)/g,"").split(/,\s*/);
// ["A", "B", "C", "D", "E", "F", ""]
要获得您想要的输出,您最好使用match
带有前瞻功能的 a (“左括号前的单词字符、一些非括号字符、右括号和逗号”):
'A(10), B(20), C(30), D(40), E(10), F(0),'.match(/\w+(?=\([^)]*\),)/g);
// ["A", "B", "C", "D", "E", "F"]
或者只是.match(/[A-Z]+/g)
为了简单起见?
假设您提供的字符串 100% 代表您尝试从中提取数据的内容,您可以这样做:
var str = 'A(10), B(20), C(30), D(40), E(10), F(0),';
str = str.replace(/\(\d+\)/g, '');
这是一个 jsFiddle显示它有效。
var str = 'A(10), B(20), C(30), D(40), E(10), F(0),';
var sections = str.split(',');
var myRegexp = /^(?:\s+)?([^\(]+)/;
var results = new Array();
for (var i = 0; i < sections.length; i++) {
if(sections[i]){
var match = myRegexp.exec(sections[i]);
if(match[1]){
results[results.length] = match[1];
}
}
}
console.log(results); // outputs: ["A", "B", "C", "D", "E", "F"]
alert(results.join(' - ')); // alerts: A - B - C - D - E - F