在 JavaScript 中从字符串中删除字符有哪些不同的方法?
从字符串中删除字符
IT技术
javascript
string
2021-02-06 11:10:42
5个回答
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, '');
ONELINER删除字符 LIST(一次多个) - 例如+,-, ,(,)从电话号码中删除:
var str = "+(48) 123-456-789".replace(/[-+()\s]/g, ''); // result: "48123456789"
我们使用正则表达式[-+()\s],将不需要的字符放在[和]
(“ \s”是“空格”字符转义 - 有关更多信息,请访问谷歌“正则表达式中的字符转义”)
我知道这是旧的,但是如果您进行拆分,则加入它将删除所有出现的特定字符,即:
var str = theText.split('A').join('')
将从字符串中删除所有出现的 'A',显然它不区分大小写
您可以使用替换功能。
str.replace(regexp|substr, newSubstr|function)
到目前为止没有人讨论过的另一种方法是 substr 方法从另一个字符串中生成字符串...如果您的字符串已定义长度并且您删除的字符位于字符串的任一端...或在字符串内,这将很有用字符串的一些“静态维度”。
其它你可能感兴趣的问题