首页 > 解决方案 > 如何用 _ 替换连续的非字母数字值

问题描述

我有一个字符串

aaa:::sss vvv ggg 4 SF 20 @text box2323

我想用单个下划线替换所有非字母数字字符。像这样 :

aaa_sss_vvv_ggg_4_SF_20_text_box2323

到目前为止我尝试的是:

let nameRegex = new RegExp("[^a-zA-Z0-9_]","g");
let originalName="aaa:::sss vvv ggg 4 SF 20 @text box2323";
let finalName= originalName.toLowerCase().replace(nameRegex, "_");
console.log(finalName);

但我得到的是:

aaa___sss_vvv_ggg_4_SF_20__text_box2323

如您所见,我在第一次替换时得到 3 个下划线。我想在这里单身。

任何帮助都将受到重视。

标签: javascriptnode.jsregex

解决方案


推荐阅读