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

JavaScript特殊字符拆分问题:如何分离全角编号与正文文本

问题描述

需要将包含全角编号的文本(如【0003】一方、テオフィリ)分割为数组[【0003】, 一方、テオフィリ],但使用正则/【[0123456789]】/执行split操作后未得到预期结果,问题出在正则表达式上。

问题分析

原正则/【[0123456789]】/仅能匹配单个全角数字的编号(如【0】),但目标编号是连续多个全角数字组成的(如【0003】),因此正则无法匹配完整的编号,导致split无法正确分割文本。

解决方案

修改正则以匹配连续的全角数字编号,同时通过捕获组保留分割后的编号(split默认会丢弃匹配的分隔符,捕获组可将其保留在结果数组中):

  • 正确正则:/(【[0-9]+】)/
    • 【和】匹配全角括号
    • [0-9]匹配任意单个全角数字
    • +表示匹配1个或多个连续的全角数字
    • 外层括号为捕获组,用于保留匹配的编号

代码示例(JavaScript)

const text = "【0003】一方、テオフィリ";
const regex = /(【[0-9]+】)/;
const result = text.split(regex).filter(item => item); // 过滤split产生的空字符串
console.log(result); // 输出: ["【0003】", "一方、テオフィリ"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 07:24:23