Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种简单的方法可以返回字符串中的所有单词?_Javascript_Regex - Fatal编程技术网

Javascript 有没有一种简单的方法可以返回字符串中的所有单词?

Javascript 有没有一种简单的方法可以返回字符串中的所有单词?,javascript,regex,Javascript,Regex,有没有办法返回给定字符串中的所有单词?我目前找到的最佳解决方案是使用match方法并返回至少包含一个非空白字符(/\S+/g)的任何字符串 这种方法的问题是,它在单词中包含逗号、句点等。如果我尝试将RegExp与\w一起使用,则它不包含句点和逗号,但由于“.”的原因,它会生成两个“不”字 这个问题有没有真正简单的解决办法 例如:“妈妈,我不想去。”。这应该返回单词[I,不,想要,去,去,妈妈]在正则表达式中使用单词边界和匹配函数 const matches=“我不想去,妈妈。”.match(/

有没有办法返回给定字符串中的所有单词?我目前找到的最佳解决方案是使用match方法并返回至少包含一个非空白字符(/\S+/g)的任何字符串

这种方法的问题是,它在单词中包含逗号、句点等。如果我尝试将RegExp与\w一起使用,则它不包含句点和逗号,但由于“.”的原因,它会生成两个“不”字

这个问题有没有真正简单的解决办法


例如:“妈妈,我不想去。”。这应该返回单词[I,不,想要,去,去,妈妈]

在正则表达式中使用单词边界和
匹配
函数

const matches=“我不想去,妈妈。”.match(/(\b[^\s]+\b)/g);

console.log(匹配项)我不知道这是否正是你想要的,但是。。。仅使用您提供的示例字符串就可以实现此功能:

myString=“我不想去,妈妈”
wordsArray=[]
myString=myString.replace(',','')
wordsArray=myString.split(“”)
log({wordsArray})
这样行吗

mystr.replace(".","").split(/\s/g);

我可能会发表评论,但我没有50个rep

您希望包含哪些类型的单词,包括逗号,而不是两个单独的单词?我想在某些时期,你会想到缩写词,比如
U.S.
或类似的东西?这能回答你的问题吗@没有。所有的解决方案都有我在帖子中提到的缺陷。一般来说,你需要首先列出你想要如何处理所有的边缘案例。这个问题是,你只是说“做对了”,但可能没有考虑很多相当困难的边缘情况。说到这些,“边缘案例”包括一个连字符。这是两个词吗?一个?请详细说明您希望允许使用哪种带逗号的单词。我不认为有什么好方法可以把以
结尾的单词与句子结尾的单词分开,例如
博士。
这是我一直在寻找的东西!谢谢大家!@VishundevGlad它有帮助:)@user737163这与以句点或结尾的单词不匹配apostrophes@CertainPerformance我刚测试过它,它能吗?“我是不是错过了什么?”ASDFGerte说得对。对于我的任务,这正是它所需要的,所以我很高兴。这也是最好的开始,如果你想添加这些功能,从我所看到的到目前为止。