私は文字列を持っています -'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)
単純化するために a を実行しますか?
指定した文字列が、データを抽出しようとしているものを 100% 表していると仮定すると、次のようにすることができます。
var str = 'A(10), B(20), C(30), D(40), E(10), F(0),';
str = str.replace(/\(\d+\)/g, '');
これが機能することを示すjsFiddleを次に示します。