Javascript 从字符串中删除字符

Javascript 从字符串中删除字符,javascript,string,Javascript,String,在JavaScript中,从字符串中删除字符有哪些不同的方法?您可以使用函数 str.replace(regexp|substr, newSubstr|function) 将replace()与正则表达式一起使用是最灵活、最强大的。这也是全局替换JavaScript中搜索模式的每个实例的唯一方法。replace()的非正则表达式变量将只替换第一个实例 例如: var str = "foo gar gaz"; // returns: "foo bar gaz" str.replace('g',

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

您可以使用函数

str.replace(regexp|substr, newSubstr|function)
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');
在后一个示例中,尾随的
/gi
表示大小写不敏感和全局替换(这意味着不应仅替换第一个实例),这是在字符串中替换时通常需要的

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

var str = "foo bar baz";

// returns: "foo r z"
str.replace(/ba/gi, '');

我知道这是旧的,但如果您进行拆分,然后加入它将删除特定角色的所有出现,即:

var str = theText.split('A').join('')

将从字符串中删除所有出现的“A”,显然它不区分大小写,它可以删除字符列表(一次删除多个字符)-例如从电话号码中删除
+,-,(,)

var str = "+(48) 123-456-789".replace(/[-+()\s]/g, '');  // result: "48123456789"
我们使用正则表达式
[-+()\s]
[
]
之间放置不需要的字符


(“
\s
”是“空格”字符转义-有关更多信息,请参阅google的“regexp中的字符转义”)

到目前为止,还没有人提到的另一种方法是substr方法,它可以从另一个字符串中生成字符串……如果您的字符串定义了长度,并且删除的字符位于字符串的任一端……或者位于字符串的某个“静态维度”内,则此方法非常有用。

回答得好。顺便说一下,
str.replace('g','b')本身不工作。使用str=str.replace('g','b')
会使答案更好。这不是一个就地函数,因此您必须执行
theText=theText.split('A')。join('')
,才能工作。此命令对于括号等奇数字符特别有用。根据您的注释进行更新,您可以使用更简单、更强大的regexp:
var str=“+(48)123-456-789”。替换(/[\D]/g');//结果:“48123456789”
这是否回答了您的问题?