2017-09-19 27 views
0

私は文字列を+ - * /で区切り、配列に入れる必要があります。複数の区切り文字で区切られた文字列

私はこのコードも試してみましたが、これはうまく動作していないようです。それは私に "正規表現が無効です:/ + | - | * | /:何も繰り返されません"というエラーが表示されます。

var separators = ['+', '-', '*', '/']; 
var numbers = x.split(new RegExp(separators.join('|'), '')); 

どうすればよいですか?

+0

文字列に特殊文字が含まれていますか? – Harsha

+0

問題はそれらの文字の中にはRegExpで特別な意味があることがあるため、 –

+0

'+'と '*'が正規表現で特別な意味を持つと思うより多くの\\でそれらをエスケープする必要があるということです。 – Rajesh

答えて

2

これを試してください。ここで

var str = "i-have_six*apples+doyou/know.doe"; 
 
console.log(str.split(/[.\*+-/_]/));

1

あなたの答えは、正規表現関連のワイルドカード文字は*、あなたの+、ので、それはある

x = "This+is*test/the*theunder-Yes"; 
 
var separators = ['\\\+', '-', '\\*', '/']; 
 

 
var numbers = x.split(new RegExp(separators.join('|'),'g')); 
 
console.log(numbers);

、です。あなたはそのまま使用することはできません。

+1

なぜ重複としてマークしませんか? – Durga

+0

関連する質問はどこですか? – rahulsm

+0

私は既に追加しました。一度チェックしてください。 – Durga

0

使用正規表現は、これは、アレイ分割として返す必要があります

var tempvar = (X).split(/[+-/*]+/); 

を分割します。 例:X = 1 + 2-3/4

alert(x) would return as 

    1,2,3,4 
関連する問題