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

标签 javascript jquery

<分区>

我在这样的输入变量中有这个字符串: 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);

关于javascript - 如何在 Javascript 中更改字符串中的特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33055530/

相关文章:

jquery - 如何在表单插件的jquery中访问json结果

javascript - 幻灯片无法在 IE 上加载

javascript - Tampermonkey 与 gmail JS API

javascript - Jquery Ui AutoComplee select ui.item 未定义

jquery - 有没有办法在 jQuery 选择器中执行 OR 操作

jQuery 仅当我将其粘贴到控制台时才起作用

javascript - NodeJS 模块函数约定——调用自己的函数

javascript - 在 Javascript 中,为什么 Object.getPrototypeOf([1,2]) 返回一个空列表?

javascript - 相当于 FF 和 IE 中的 'window.location.ancestorOrigins'

javascript - 动态显示下拉框中的值,然后显示用户选择的已存储在数据库中的值