从字符串中删除下划线
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
方法的两个参数是:
- 我们要在字符串中匹配的子串
- 每场比赛的替换
通过用空字符串替换每个下划线,我们实际上从字符串中删除了下划线。
该
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()
方法的唯一充分理由replaceAll
是replace
Internet Explorer 支持该方法,而 Internet ExplorerreplaceAll
则不支持。如果只想替换第一次出现的下划线字符,只需g
从正则表达式中删除 (global) 标志即可。
索引.js
const str = 'a_b_c'; const result3 = str.replace(/_/, ''); console.log(result3); // 👉️ "ab_c"
默认情况下,该replace
方法用提供的替换替换第一次出现的匹配字符。
通过删除g
(global) 标志,我们只匹配字符串中的第一个下划线。