1 split、2 replace、3 replaceAll
1 split(separator,howmany)
返回一个字符串数组。
该数组是通过在 separator 指定的边界处将字符串分割成子串创建的。
返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)
1.1 separator
必需。字符串或正则表达式,从该参数指定的地方分割字符串
1.2 howmany
可选。该参数可指定返回的数组的最大长度。
如果设置了该参数,返回的子串不会多于这个参数指定的数组。
如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
let s = 'a1bc2deg3';
console.log(s.split(/[0-9]/)); // ["a", "bc", "deg", ""]
console.log(s.split(/[0-9]/, 2)); // ["a", "bc"]
2 replace(regexp/substr, replacement)
在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
返回:一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
2.1 regexp/substr
必需。规定子字符串或要替换的模式的 RegExp 对象。
如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。
其他情况,它只替换第一个匹配子串。
let s = 'a1bc2deg3';
console.log(s.replace(/[0-9]/, 'X)); // aXbc2deg3
console.log(s.replace(/[0-9]/g, 'X')); // aXbcXdegX
3 replaceAll(regexp/substr, replacement)
和replace类似,但会替换所有匹配的情况,且 regexp 必须(!不然会报错)具有全局标志 g
let s = 'a1bc2deg3';
console.log(s.replace(/[0-9]/g, 'X')); // aXbcXdegX