【问题标题】:Replace characters in string array Javascript替换字符串数组Javascript中的字符
【发布时间】:2014-12-31 18:23:09
【问题描述】:

我已经定义并填充了一个名为vertices 的数组。我可以将输出打印到 JavaScript 控制台,如下所示:

["v 2.11733 0.0204144 1.0852", "v 2.12303 0.0131256 1.08902", "v 2.12307 0.0131326 1.10733" ...etc. ]

但是我希望从每个元素中删除“v”字符。我尝试使用.replace() 函数如下:

var x;
for(x = 0; x < 10; x++)
{
    vertices[x].replace('v ', '');
}

在此代码之后将数组打印到控制台时,我看到与以前相同的输出,'v' 仍然存在。

谁能告诉我如何解决这个问题?

【问题讨论】:

  • 请记住,使用字符串作为第一个参数调用replace,您只会替换第一个实例。在这种情况下,这看起来会很好,但在未来,如果你想“全部替换”,第一个需要是一个正则表达式,比如someString = someString.replace(/old/g, "new"); - 因为我通常想做“替换all",我刚刚养成了在调用replace 时始终使用正则表达式语法的习惯。

标签: javascript arrays string replace


【解决方案1】:

字符串是不可变的,所以你只需要重新分配它们的值:

vertices[x] = vertices[x].replace('v ', '');

【讨论】:

    【解决方案2】:

    应该是

    vertices[x]=vertices[x].replace('v ', '');
    

    因为替换返回值,并且不改变初始字符串。

    【讨论】:

      【解决方案3】:
      vertices[x] = vertices[x].replace('v ', '');
      

      【讨论】:

        猜你喜欢
        • 2010-10-31
        • 2010-09-28
        • 2012-04-26
        • 2014-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-26
        相关资源
        最近更新 更多