regex 使用JavaScript将字符串中除“o”外的所有字符替换为“p”

monwx1rj  于 2023-03-04  发布在  Java
关注(0)|答案(2)|浏览(159)

我想将字符串myString中的所有字符替换为"p","o"除外。
例如:

"fgyerfgehooefwfweeo"

应该成为

"pppppppppoopppppppo"

我试过:

myString.replaceAll('[^o]*/g', 'p')
nqwrtyyt

nqwrtyyt1#

  • replace(或replaceAll)传递正则表达式文本而不是字符串。
  • 不要在字符类之后使用*;否则不是“o”的多个连续字符将被折叠成单个“p”。
let str = "fgyerfgehooefwfweeo";
let res = str.replace(/[^o]/g, 'p');
console.log(res);
rseugnpd

rseugnpd2#

不使用Regex的简单方法:其中String.split()将字符串转换为chars并以字母“o”为条件执行Array.map(),最后Array.join()返回。

console.log("fgyerfgehooefwfweeo".split('').map(chr => chr !== 'o' ? 'p' : chr).join(''))

相关问题