0

我想测试文本中的每个单词是否以字符 # 开头,如果是,我会将单词放入变量“response”中,如果不是,我将继续搜索。我尝试了类似的东西:

var found = false;
for (i = 0; i < text.length; i++) {
     if (found = /^#...$/.test(text[i])) {
        found = true;
     }
     if (found== true){
          //other stuff
     }
}

你能帮我做这个吗?

4

2 回答 2

1

您可以在空间上使用拆分,然后使用子字符串查找第一个字母。然后比较一下。

演示

var arr= text.split(' ');

for (i = 0; i < arr.length; i++) {
    if (arr[i].substring(0,1) == '#') {
        console.log('found!: ' + arr[i]);
        break;
    }
}
于 2013-04-05T16:46:59.420 回答
0

你可能想要这样的东西:

var found = false, response;
for (i = 0; i < text.length; i++) {
     if (/^#.*$/.test(text[i])) {
        found = true;
        response = text[i];
        break;
     }
}

这匹配以 . 开头的所有内容#。如果您只想匹配非空格字符,请使用 RegEx/^#(\S)*$/

于 2013-04-05T16:45:35.633 回答