8

複数の区切り文字で正規表現を作成することは可能ですか?たとえば、1。「string1、string2、string3」または2.「string1、string2、string3」の2つの形式で入力できる文字列を分割したいとします。私はこれをjavascriptで行おうとしていますが、今のところ成功していません。

4

3 に答える 3

26

正規表現を使用するだけsplit()です:

var string = "part1,part2, part3, part4,    part5",
    components = string.split(/,\s*/);

JSフィドルデモ

私がでは*なく使用した理由?は、単に空白がないか、多くの空白が許可されていないためです。一方、?0または1の空白に一致します(これはまさにあなたが尋ねたものですが、それでもそうです)。

ちなみに、コンマの前に空白がある可能性がある場合は、split()正規表現を次のように修正する価値があります。

var string = "part1,part2  , part3, part4,    part5",
    components = string.split(/\s*,\s*/);
console.log(components);​

JSフィドルデモ

これは、指定された文字列をゼロ以上の空白、コンマ、ゼロ以上の空白で分割します。もちろん、これは完全に不要かもしれません。

参照:

于 2012-09-11T11:26:37.237 に答える
5

はい、:を使用して空白()\sをオプションにします。?

var s = "string1,string2,string3";
s.split(/,\s?/);
于 2012-09-11T11:26:08.473 に答える
1

シルバに加えて

複数のスペースを含めることができるかどうか疑わしい場合に備えて、使用する(またはスペースを使用しない)

var s = "string1, string2,  string3";
s.split(/,\s*/);
于 2012-09-11T11:29:42.907 に答える