Javascript 如何用字符串创建数组并保留空格&;每个单词末尾的标点符号?
以这个字符串为例:Javascript 如何用字符串创建数组并保留空格&;每个单词末尾的标点符号?,javascript,Javascript,以这个字符串为例: 'The strong, fast and gullible cat ran over the street!' 我想创建一个函数,该函数接受此字符串并创建以下数组: ['The ','strong, ','fast ','and ','gullible ','cat ','ran ','over ','the ','street!'] 请注意,我想在每个单词之后保留每个puctuation和空格。正如@courger所评论的(当我修改代码时),如果我们添加一些要用作分隔
'The strong, fast and gullible cat ran over the street!'
我想创建一个函数,该函数接受此字符串并创建以下数组:
['The ','strong, ','fast ','and ','gullible ','cat ','ran ','over ','the ','street!']
请注意,我想在每个单词之后保留每个puctuation和空格。正如@courger所评论的(当我修改代码时),如果我们添加一些要用作分隔符的字符,那么我们可以在此基础上拆分,而不是拆分空格
var s=“那只强壮、敏捷、易上当受骗的猫从街上跑过!”;
s=s.替换(/\s+/g,“**”);
var ary=s.split(“**”);
控制台日志(ary)代码>正如@courger所评论的(当我修改代码时),如果我们添加了一些要用作分隔符的字符,那么我们就可以将其拆分,而不是拆分为空格
var s=“那只强壮、敏捷、易上当受骗的猫从街上跑过!”;
s=s.替换(/\s+/g,“**”);
var ary=s.split(“**”);
控制台日志(ary)
此正则表达式将匹配所需内容:/[^\s]+\s*/g
示例:
var str='那只强壮、敏捷、容易上当受骗的猫跑过了街道!';
var result=str.match(/[^\s]+\s*/g);
控制台日志(结果)
此正则表达式将匹配所需内容:/[^\s]+\s*/g
示例:
var str='那只强壮、敏捷、容易上当受骗的猫跑过了街道!';
var result=str.match(/[^\s]+\s*/g);
控制台日志(结果)代码>您可以在单词边界处拆分
,后跟一个单词字符:
var str='那只强壮、敏捷、容易上当受骗的猫跑过了街道!';
console.log(str.split(/\b(?=\w)/)代码>您可以在单词边界处拆分
,后跟一个单词字符:
var str='那只强壮、敏捷、容易上当受骗的猫跑过了街道!';
console.log(str.split(/\b(?=\w)/)代码>也要把我的解决方案扔进拳击场。:)
结果是:
["The ", "strong, ", "fast ", "and ", "gullible ", "cat ", "ran ", "over ", "the ", "street!"]
正则表达式模式分解如下:
[^]+
-匹配一个或多个非空格字符,然后
(|$)
-空格或字符串的结尾
g
-它将匹配模式的所有实例,最后也将我的解决方案扔进戒指中。:)
结果是:
["The ", "strong, ", "fast ", "and ", "gullible ", "cat ", "ran ", "over ", "the ", "street!"]
正则表达式模式分解如下:
[^]+
-匹配一个或多个非空格字符,然后
(|$)
-空格或字符串的结尾
g
-它将匹配模式的所有实例。结束一个选项是将单个空格替换为空格+一些您知道不会出现在字符串中的字符,然后按该字符拆分。一个选项是将单个空格替换为空格+一些您知道不会出现在字符串中的字符,然后按该字符拆分角色。如果后面有两个空格,就会有问题。如果后面有两个空格,就会有问题。太棒了!非常感谢不客气!但它将忽略任何前导空格(第一个字母前的空格)。可以吗?我以为不会有。太棒了!非常感谢不客气!但它将忽略任何前导空格(第一个字母前的空格)。可以吗?我想不会有了这句话,“约翰的母亲”
就变成了[“约翰”,“母亲”]。我希望它成为“约翰的”。我想我应该调整正则表达式以满足我的需要。很明显,我是时候跳进regex的世界了。非常感谢您抽出时间!用这句话,“约翰的母亲”
变成[“约翰”,“s”,“母亲”]。我希望它成为“约翰的”。我想我应该调整正则表达式以满足我的需要。很明显,我是时候跳进regex的世界了。非常感谢您抽出时间!