複数の区切り文字で正規表現を作成することは可能ですか?たとえば、1。「string1、string2、string3」または2.「string1、string2、string3」の2つの形式で入力できる文字列を分割したいとします。私はこれをjavascriptで行おうとしていますが、今のところ成功していません。
16529 次
3 に答える
26
正規表現を使用するだけsplit()
です:
var string = "part1,part2, part3, part4, part5",
components = string.split(/,\s*/);
私がでは*
なく使用した理由?
は、単に空白がないか、多くの空白が許可されていないためです。一方、?
0または1の空白に一致します(これはまさにあなたが尋ねたものですが、それでもそうです)。
ちなみに、コンマの前に空白がある可能性がある場合は、split()
正規表現を次のように修正する価値があります。
var string = "part1,part2 , part3, part4, part5",
components = string.split(/\s*,\s*/);
console.log(components);
これは、指定された文字列をゼロ以上の空白、コンマ、ゼロ以上の空白で分割します。もちろん、これは完全に不要かもしれません。
参照:
于 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 に答える