从字符串中删除字符

Ski*_*zit 49 javascript string

我可以在JavaScript中从字符串中删除字符的不同方法有哪些?

Dav*_*ard 82

使用replace()正则表达式是最灵活/最强大的.它也是全局替换JavaScript中每个搜索模式实例的唯一方法.非正则表达式的变体replace()只会替换第一个实例.

例如:

var str = "foo gar gaz";

// returns: "foo bar gaz"
str.replace('g', 'b');

// returns: "foo bar baz"
str = str.replace(/g/gi, 'b');
Run Code Online (Sandbox Code Playgroud)

在后一个示例中,尾部/gi表示不区分大小写和全局替换(意味着不仅应替换第一个实例),这是您在替换字符串时通常需要的内容.

删除字符,请使用空字符串作为替换:

var str = "foo bar baz";

// returns: "foo r z"
str.replace(/ba/gi, '');
Run Code Online (Sandbox Code Playgroud)

  • 好答案。顺便说一下,`str.replace('g', 'b');` 本身不起作用。使用 `str = str.replace('g', 'b');` 会使答案更好。 (2认同)

Kam*_*ski 26

ONELINER删除字符列表(一次多于一个) - 例如+,-, ,(,)从电话号码中删除:

var str = "+(48) 123-456-789".replace(/[-+()\s]/g, '');  // result: "48123456789"
Run Code Online (Sandbox Code Playgroud)

我们使用正则表达式[-+()\s],在[和之间放置不需要的字符]

(" \s"是'空格'角色逃脱 - 更多信息google'角色在regexp中逃脱')

  • 对于带有电话号码的示例,您可以使用更简单、更强大的正则表达式获得相同的结果:```var str = "+(48) 123-456-789".replace(/[\D]/g, ' '); // 结果:“48123456789”``` (2认同)

Naz*_*riy 5

您可以使用替换功能。

str.replace(regexp|substr, newSubstr|function)
Run Code Online (Sandbox Code Playgroud)


ata*_*ata 5

我知道这是旧的,但如果你进行拆分,那么加入它将删除所有出现的特定字符,即:

var str = theText.split('A').join('')
Run Code Online (Sandbox Code Playgroud)

将从字符串中删除所有出现的'A',显然它不区分大小写