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

如何使用正则删除字符串中逗号后除首字母外的其余内容?

你原来的代码拆分后只取了逗号前的部分,所以会把逗号和后面的内容全部删除,可参考以下两种实现方案:

方案1:拆分后拼接

let str = "Smith,John";
// 移除所有空白字符
str = str.replace(/\s/g, "");
// 拆分出姓氏、名字两个部分
const [lastName, firstName] = str.split(',');
// 拼接姓氏、逗号、名字首字母
str = `${lastName},${firstName[0]}`;

如果需要兼容名字为空的极端场景,可以调整拼接逻辑为:

str = `${lastName},${firstName?.[0] || ''}`;

方案2:正则直接替换

用正则匹配逗号后首字母之外的所有内容直接删除,一行即可完成:

let str = "Smith,John";
str = str.replace(/\s/g, "").replace(/(,.)(.*)/, "$1");

正则逻辑说明:(,.)捕获逗号加后面第一个字符作为第一组,(.*)匹配首字母之后的所有内容,替换为$1即仅保留捕获到的逗号加首字母部分。

两种方案运行后的输出结果均为Smith,J。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:45:04