0

私は文字列を持っています -'A(10), B(20), C(30), D(40), E(10), F(0),'

括弧の外側のすべての値をコンマで区切って取得できるように分割したいと思います。

出力 -A B C D E F

私はJavaScriptでこれをやろうとしています。何か案は?

4

4 に答える 4

1

なぜ単純ではないのですか:

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"]

JS フィドルのデモ

「整数または文字」の要件のために更新されました。

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"] 

JS フィドルのデモ

配列ではなく単純な文字列を使用する場合:

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 

JS フィドルのデモ

参考文献:

于 2013-07-18T19:16:51.500 に答える
0

カンマで分割された括弧の外側のすべての値を取得するように分割します

かっこのペアを削除splitしてから、次のようにします。

'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 を実行しますか?

于 2013-07-18T19:12:43.743 に答える
0

指定した文字列が、データを抽出しようとしているものを 100% 表していると仮定すると、次のようにすることができます。

var str = 'A(10), B(20), C(30), D(40), E(10), F(0),';
str = str.replace(/\(\d+\)/g, '');

これが機能することを示すjsFiddleを次に示します。

于 2013-07-18T19:12:58.827 に答える