按空格分割字符串

Split string on spaces

本文关键字:字符串 分割 空格      更新时间:2023-09-26

我有一个文本区,您可以在其中键入消息。在输入"@"之后,消息应该在空格上分开。在将所有单词放入数组后,我想在数组中搜索这样的单词:@person1, @person2

但是第一部分已经出错了。

我用下面的代码尝试了一下,但是数组似乎总是空的。

$("textarea.autocomplete-pt").keypress(function(e) {
    if (e.which == 64) {
        var string = $(".autocomplete-pt").text(),
            array = string.split(/ +/);
        console.log(array);
    }
});

我做错了什么?

这里是jsfield

要阅读inputtextarea的内容,必须使用val()而不是text()。参考jQuery文档了解更多细节,但你的代码应该是这样的:

$("textarea.autocomplete-pt").keypress(function(e) {
    if (e.which == 64) {
        var string = $(".autocomplete-pt").val().trim();
        var array = string.split(/'s+/);
        console.log(array);
    }
});

正如Tushar已经在评论中建议的那样,最好使用's+而不是 来匹配空格,因为它还可以处理多个空格和其他类型的空格(制表符,短空格和长空格等,如果用户将粘贴从另一个页面复制的文本或他们在日语中有双宽/单宽字符)。