从 JavaScript 中的字符串中删除下划线

从字符串中删除下划线

Remove the Underscores from a String in JavaScript

要从字符串中删除下划线,请对字符串调用该replaceAll()方法,将下划线作为第一个参数传递给它,将空字符串作为第二个参数传递给它,例如replaceAll('_', ''). replaceAll方法将返回一个新字符串,其中所有下划线都被删除。

索引.js
const str = 'a_b_c'; // ✅ Remove all underscores const result1 = str.replaceAll('_', ''); console.log(result1); // 👉️ "abc" // ✅ Remove all underscores using regex const result2 = str.replace(/_/g, ''); console.log(result2); // 👉️ "abc" // ✅ Remove only first underscore const result3 = str.replace(/_/, ''); console.log(result3); // 👉️ "ab_c"

我们传递给
String.replaceAll
方法的两个参数是:

  1. 我们要在字符串中匹配的子串
  2. 每场比赛的替换

通过用空字符串替换每个下划线,我们实际上从字符串中删除了下划线。

replaceAll方法不改变原来的字符串,它返回一个新的字符串。字符串在 JavaScript 中是不可变的。

或者,您可以使用
String.replace
方法。

要从字符串中删除所有下划线,请调用字符串replace()上的方法,将以下正则表达式传递给它 – /_/g,并将正则表达式的每个匹配项替换为空字符串,例如
str.replace(/_/g, '')

索引.js
const str = 'a_b_c'; const result2 = str.replace(/_/g, ''); console.log(result2); // 👉️ "abc"

我们传递给该replace方法的第一个参数是正则表达式,第二个参数是每个匹配项的替换。

正斜杠/ /标记正则表达式的开始和结束。

我们的正则表达式由一个下划线组成。

我们使用g(global) 标志是因为我们想要匹配字符串中出现的所有下划线,而不仅仅是第一次出现的。

因为我们想从字符串中删除下划线,所以我们用一个空字符串替换每个下划线。

我能想到的使用该replace()方法的唯一充分理由replaceAllreplaceInternet Explorer 支持该方法,而 Internet ExplorerreplaceAll则不支持。

如果只想替换第一次出现的下划线字符,只需g从正则表达式中删除 (global) 标志即可。

索引.js
const str = 'a_b_c'; const result3 = str.replace(/_/, ''); console.log(result3); // 👉️ "ab_c"

默认情况下,该replace方法用提供的替换替换第一次出现的匹配字符。

通过删除g(global) 标志,我们只匹配字符串中的第一个下划线。