用_(下划线)替换字符串中的特殊字符

use*_*997 79 javascript jquery

我想从字符串中替换特殊字符并将其替换为_字符

例如:

string = "img_realtime_tr~ading3$"
Run Code Online (Sandbox Code Playgroud)

结果字符串应该看起来像"img_realtime_tr_ading3_";

我需要替换这些字符: & / \ # , + ( ) $ ~ % .. ' " : * ? < > { }

提前致谢

Nie*_*sol 180

string = string.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'_');
Run Code Online (Sandbox Code Playgroud)

简单.

或者,要更改除数字和字母之外的所有字符,请尝试:

string = string.replace(/[^a-zA-Z0-9]/g,'_');
Run Code Online (Sandbox Code Playgroud)

  • 第二行在许多场合非常有用. (4认同)
  • @DannyFeliz 甚至`string = string.replace(/[^a-zA-Z0-9]/g,'_').replace(/_{2,}/g,'_');` 如果你这样做不知道有多少连续的下划线 (4认同)
  • 如果你在空格前有一个特殊字符,比如 `hello! word` 你最终会得到两个连续的下划线,就像这样 `hello__word` 所以,你可以这样做:`string = string.replace(/[^a-zA-Z0-9]/g,'_').replace( /__/g,'_');` (2认同)

Wen*_*Wen 10

string = string.replace(/[\W_]/g, "_");
Run Code Online (Sandbox Code Playgroud)