You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符串拆分为单词及空格前的独立标点数组元素?

解决方案:精准拆分单词与独立标点

要实现你需要的拆分效果,别再用split(" ")了,直接用正则表达式的match方法就能搞定,正好满足「标点后带空格才单独成元素」的需求。

核心正则表达式

用这个正则可以匹配所有符合要求的单元:

/\w+(?:['’]\w+)*|[^\w\s]+/g

代码示例

const originalText = "My code doesn't work and, I don't know how to get it to.";
const splitPattern = /\w+(?:['’]\w+)*|[^\w\s]+/g;
const splitArray = originalText.match(splitPattern);
console.log(splitArray);

运行后输出正好是你要的数组:
["My","code","doesn't","work","and",",","I","don't","know","how","to","get","it","to","."]

正则规则解释

  • \w+(?:['’]\w+)*:专门匹配完整单词,包括doesn't、don't这种带撇号的特殊单词,确保这类词不会被拆碎。
  • [^\w\s]+:匹配所有非单词、非空格的字符(也就是标点符号),只要标点是和单词分开的(比如and,里的逗号后面有空格),就会被单独识别成数组元素;就算标点在句尾(比如to.里的点),也会把to和.拆成两个独立元素,完全符合你的需求。

内容的提问来源于stack exchange,提问作者ih8bugs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:25:01