替换字符串数组Javascript中的字符
Posted
技术标签:
【中文标题】替换字符串数组Javascript中的字符【英文标题】:Replace characters in string array 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
时始终使用正则表达式语法的习惯。
【参考方案1】:
字符串是不可变的,所以你只需要重新分配它们的值:
vertices[x] = vertices[x].replace('v ', '');
【讨论】:
【参考方案2】:应该是
vertices[x]=vertices[x].replace('v ', '');
因为替换返回值,并且不改变初始字符串。
【讨论】:
【参考方案3】:vertices[x] = vertices[x].replace('v ', '');
【讨论】:
以上是关于替换字符串数组Javascript中的字符的主要内容,如果未能解决你的问题,请参考以下文章
javascript中数组与字符串之间的转换以及字符串的替换
javascript 字符串替换问题,字符串中包含了其他的字符