Javascript 如何替换除第一个字符以外的多个字符?

Javascript 如何替换除第一个字符以外的多个字符?,javascript,Javascript,我查过这个问题,但我对编码还不熟悉,所以我不太可能把其他答案与此联系起来 给定一个字符串s,返回一个字符串 其中第一个字符的所有匹配项 已更改为“*”,但不更改除外 第一个字符本身。 e、 g.“唠叨”产生“唠叨” 假设字符串的长度为1或更长。 提示:s.replace(stra,strb)返回字符串s的版本 stra的所有实例均已被strb取代 这就是我所拥有的,但这并不会替换后面的每个字符,除了第一个字符,它只会替换下一个字符 function fixStart(s) { var

我查过这个问题,但我对编码还不熟悉,所以我不太可能把其他答案与此联系起来

给定一个字符串s,返回一个字符串
其中第一个字符的所有匹配项 已更改为“*”,但不更改除外
第一个字符本身。 e、 g.“唠叨”产生“唠叨” 假设字符串的长度为1或更长。 提示:s.replace(stra,strb)返回字符串s的版本 stra的所有实例均已被strb取代

这就是我所拥有的,但这并不会替换后面的每个字符,除了第一个字符,它只会替换下一个字符

function fixStart(s)
    {
  var c = s.charAt(0);
  return c + s.slice(1).replace(c, '*');
    }

要替换所有出现的内容而不仅仅是第一个,可以使用
RegExp

function fixStart(s) {
    var c = s.charAt(0);
    return c + s.slice(1).replace(new RegExp(c, 'g'), '*');
}
例如,如果
c
的值为“b”,则
newregexp(c,'g')
相当于
/b/g


这将适用于简单的字符串,如示例中的“babble”。如果字符串可能以表示正则表达式中某些内容的特殊符号开头,例如“.”,则需要对其进行转义,正如@Oriol在注释中指出的那样。查看如何在中执行。

要替换所有出现的内容,而不仅仅是第一个,可以使用
RegExp

function fixStart(s) {
    var c = s.charAt(0);
    return c + s.slice(1).replace(new RegExp(c, 'g'), '*');
}
例如,如果
c
的值为“b”,则
newregexp(c,'g')
相当于
/b/g

这将适用于简单的字符串,如示例中的“babble”。如果字符串可能以表示正则表达式中某些内容的特殊符号开头,例如“.”,则需要对其进行转义,正如@Oriol在注释中指出的那样。查看如何在中完成。

函数fixStart{
var c=s.charAt(0);
var outputStr='';
//阅读整个字符串,将字母推入新字符串,除非它是第一个字母
对于(变量i=0;i
功能修复启动{
var c=s.charAt(0);
var outputStr='';
//阅读整个字符串,将字母推入新字符串,除非它是第一个字母
对于(变量i=0;i
谢谢@Oriol,好观点,添加到我的帖子中。谢谢@Oriol,好观点,添加到我的帖子中。