为什么我会问一个简单的问题:
嗨,很多人问过如何在javascript中按多个值拆分字符串,但是我不明白它在分组问题中的/[^\w\s]|_/
是如何工作的,所以我不知道如何修改它以符合我的目标。
我需要什么:
我的html中有一个textarea,因此用户可以编写以多种方式格式化的单词(总是文本,如果他们键入数字,它将被视为文本)。
我的代码:
<div class="ui-block-c">
<textarea id="writtenWord" rows="1" cols="50"></textarea>
</div>
var writtenWord = document.getElementById("writtenWord");
var theWord = writtenWord.value.toUpperCase();
res = theWord.split(" ");
for (var i = res.length - 1; i >= 0; i--) {
ArrayWords.push(res[i]);
};
我想要的是什么:
要理解它是如何工作的,所以我可以改变条件+一个分裂单词的工作示例,即使用户按下回车键或键入5个空格......
答案 0 :(得分:6)
只需使用正则表达式/\s+/
res = theWord.split(/\s+/);
以上将分为1个或多个空格。 \s
表示空格,+
是一个量词,意味着匹配前一个标记(在本例中为空格(\s
))1次或更多次。
你还需要
ArrayWords = res;
不需要循环和推送。另一种方法是用一个空格替换多个空格并仅在一个空间上分割
res = theWord.replace(/\s+/," ").split(" ");