JavaScript では、regex を使用して、区切り文字 () などをどこ['John Smith', 'Jane Doe']
から取得できますか?
使用するだけで私に与えます"John Smith - Jane Doe"
-
\ / , + * : ;
new RegExp('[a-zA-Z]+[^\/|\-|\*|\+]', 'g')
["John ", "Smith ", "Jane ", "Doe"]
質問する
143 次
2 に答える
2
これを試してください、正規表現はありません:
var arr = str.split(' - ')
編集
複数のセパレータ:
var arr = str.split(/ [-*+,] /)
于 2012-07-16T09:28:32.893 に答える
1
複数の単語に一致させたい場合は、文字クラスにスペースが必要です。次のように、または を介して/[ a-zA-Z]+/g
繰り返し使用されるようなものが出発点になると思います。ソースexec
String#match
var str = "John Smith - Jane Doe";
var index;
var matches = str.match(/[ a-zA-Z]+/g);
if (matches) {
display("Found " + matches.length + ":");
for (index = 0; index < matches.length; ++index) {
display("[" + index + "]: " + matches[index]);
}
}
else {
display("No matches found");
}
しかし、それは非常に限られています。膨大な数の名前に AZ 以外の文字が含まれているため、ロジックを反転して、否定されたクラスを使用することができます (/[^...]/g
は...
可能な区切り文字のリストです)。「エリザベス・ペーニャ」や「ジェラルド・ト・フーフト」を寒い中に置き去りにしたくないでしょう!:-)
于 2012-07-16T09:27:09.533 に答える