我想将字符串myString中的所有字符替换为"p","o"除外。例如:
myString
"fgyerfgehooefwfweeo"
应该成为
"pppppppppoopppppppo"
我试过:
myString.replaceAll('[^o]*/g', 'p')
nqwrtyyt1#
replace
replaceAll
*
let str = "fgyerfgehooefwfweeo"; let res = str.replace(/[^o]/g, 'p'); console.log(res);
rseugnpd2#
不使用Regex的简单方法:其中String.split()将字符串转换为chars并以字母“o”为条件执行Array.map(),最后Array.join()返回。
Regex
String.split()
chars
Array.map()
Array.join()
console.log("fgyerfgehooefwfweeo".split('').map(chr => chr !== 'o' ? 'p' : chr).join(''))
2条答案
按热度按时间nqwrtyyt1#
replace
(或replaceAll
)传递正则表达式文本而不是字符串。*
;否则不是“o”的多个连续字符将被折叠成单个“p”。rseugnpd2#
不使用
Regex
的简单方法:其中String.split()
将字符串转换为chars
并以字母“o”为条件执行Array.map()
,最后Array.join()
返回。