我可以通过JavaScript从字符串中删除字符的不同方法有哪些?
答案 0 :(得分:81)
将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
表示不区分大小写和全局替换(意味着不仅应替换第一个实例),这是您在替换字符串时通常需要的内容。 / p>
要删除字符,请使用空字符串作为替换:
var str = "foo bar baz";
// returns: "foo r z"
str.replace(/ba/gi, '');
答案 1 :(得分:23)
ONELINER 删除字符LIST(一次多个) - 例如从电话号码中删除+,-, ,(,)
:
var str = "+(48) 123-456-789".replace(/[-+()\s]/g, ''); // result: "48123456789"
我们使用正则表达式[-+()\s]
,我们将不需要的字符放在[
和]
之间
(“\s
”是“空格”字符转义 - 更多信息google'字符在regexp中转义')
答案 2 :(得分:5)
我知道这是旧的,但如果你进行拆分,那么加入它将删除所有出现的特定字符,即:
var str = theText.split('A').join('')
将删除所有出现的' A'从字符串中,显然它不区分大小写
答案 3 :(得分:4)
您可以使用replace功能。
str.replace(regexp|substr, newSubstr|function)
答案 4 :(得分:3)
到目前为止,没有人谈过的另一种方法是使用另一个字符串生成字符串的substr方法...如果你的字符串定义了长度并且你的删除字符位于字符串的任何一端,这很有用。 。或在字符串的某些“静态维度”内。