0
正規表現をテストする方法を勉強しようとしていて、ちょっと混乱します。以下は、単語の文字が正規表現にあるかどうかのテストです。それらがあれば、部分文字列に書き込む必要があり、そうでなければ(!と。 "")、以前に記録された部分文字列を配列に書き出すようにダンプする必要があります。しかし、ループ内でテストするとき、word.test(str)はfalseとtrueの両方と等しいです!私はそれをテストするとき、それは良い(****の後の例)を評価しますが、forループで動作しないところで起こっている奇妙なことがあります。何か案は?Javascriptの正規表現が真と偽の両方を評価する
function countWords(str) {
var testString = '';
var stringArray = [];
var retObj = {};
var word = /\S/;
for(i = 0; i<str.length; i++)
{
if (word.test(str[i]) === true);
{
testString = testString.concat(str[i]);
}
if (word.test(str[i]) === false);
{
stringArray = stringArray + "," + testString;
testString = "";
}
}
return stringArray;
}
console.log(countWords("Hi! How are you?"));
console.log("*****");
var phrase = "Hi! How are you?";
console.log(/\S/.test(phrase[3]));
omgありがとう。デュ –