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

是否有JavaScript方法可将多语言句子去空格标点后分割为单词数组并保留特殊组合?

JavaScript多语言文本分词方案

可以实现这类需求,核心是通过正则表达式匹配不同语言的“单词”规则,同时保留英文中的撇号缩写。以下是具体实现:

核心实现代码

function processText(text) {
  // 匹配规则:
  // 1. 英文单词(含合法撇号缩写,如we'd、don't)
  // 2. 日文(平假名、片假名、汉字)连续字符块
  // 3. 韩文(谚文)连续字符块
  const wordRegex = /[a-zA-Z]+('?[a-zA-Z]+)?|[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FFF]+|[\uAC00-\uD7AF]+/g;
  // 全局匹配提取所有符合规则的内容,无匹配时返回空数组
  return text.match(wordRegex) || [];
}

示例测试

英文测试

输入:

"So we'd do a thorough clean of all surfaces in each room, and polish them where necessary."

输出:

["So", "we'd", "do", "a", "thorough", "clean", "of", "all", "surfaces", "in", "each", "room", "and", "polish", "them", "where", "necessary"]

日文测试

输入:

"時間が過ぎて、あっという間に冬休みは過ぎてしまった。冬休みの生活を思い出して、嬉しくなった!"

输出:

["時間が過ぎて", "あっという間に", "冬休みは過ぎてしまった", "冬休みの生活を思い出して", "嬉しくなった"]

韩文测试

输入:

"세상에서가장큰시간낭비가아니던가요?"

输出:

["세상에서가장큰시간낭비가아니던가요"]

注意事项

  • 正则覆盖了常见的英、日、韩语言场景,如需支持更多语言,可扩展对应的Unicode字符区间(如泰文\u0E00-\u0E7F、阿拉伯文\u0600-\u06FF等)。
  • 英文规则确保we'd、don't这类缩写完整保留,不会拆分;若需处理更复杂的英文缩略形式,可微调正则。
  • 日文、韩文默认按连续同语言字符块分割,若需更精细的分词(如日文拆分单个语义词),建议使用专门的分词库(如kuromoji.js)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:10:16