繁体   English   中英

如何在Javascript中更改字符串中的特定字符

[英]How to change the specific character in a string in Javascript

我在这样的输入变量中有这个字符串:var input =“ javascript”;

我想通过将a替换为4并将i替换为1将此字符串更改为“ j4v4sr1pt”。

我试图做这样的事情,但对我没有用,我是JavaScript新手。有人可以告诉我我在这里做错了吗? 提前表示谢意:D

<script>
var input = "javascript";
var output= "";

for ( var i=0;i<input.length ; i++)
   { if ( input[i] == "a")
       {output[i] = "4"; }
     else if ( input[i] == "i")
     {  output[i] ="1"; }
     else
       output[i]=input[i];
    }// end forloop
</script>

在JavaScript中,字符串是不可变的,这意味着它们不能就地更改。 即使您可以读取字符串的每个字符,也无法对其进行写入。

您可以使用正则表达式替换来解决问题:

output = input.replace(/a/g, '4').replace(/i/g, '1');

或者,您可以通过将output从字符串更改为数组,然后将其连接以使其成为字符串来解决此问题:

 var input = "javascript"; var output = []; //change this for (var i = 0; i < input.length; i++) { if (input[i] == "a") { output[i] = "4"; } else if (input[i] == "i") { output[i] = "1"; } else output[i] = input[i]; } // end forloop output= output.join(''); //change array to string console.log(output); 

尝试使用.replace()方法,如下所示:

<script>
    var input = "javascript";
    var output = input.replace("a", "4", "g").replace("i", "1", "g");
</script>

编辑 :向替换方法添加g标志以替换所有匹配项,而不仅仅是第一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM