首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用方括号替换js

用方括号替换js
EN

Stack Overflow用户
提问于 2013-08-12 06:05:33
回答 3查看 396关注 0票数 0

我希望有更好的方法来写这个?去掉方括号对我来说是个问题。

代码语言:javascript
复制
alert(CanvasData)//images[]=Base.jpg&images[]=Frame_Clear.png&images[]=Left_Clear.png&images[]=Right_Clear.png&images[]=Lenses_Lenses-Semi-Clear.png&images[]=


var PayName = CanvasData.replace("images[]=", "");
PayName = PayName.replace(/\[.*?\]/g, '');
PayName = PayName.replace(/\&images=/g, ' ');
PayName = PayName.replace(/\.png/g, " &");
PayName = PayName.replace(/\_/g, ' ');
PayName = PayName.substring(8);//remove fist 8 character (Base.jpg)
PayName = PayName.substring(0, PayName.length - 2);//remove last 2 characters // Frame Clear & Left Clear & Right Clear & Lenses Lenses-Semi-Clear &


alert(PayName)// Frame Clear & Left Clear & Right Clear & Lenses Lenses-Semi-Clear 

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-12 06:13:50

调用替换为三个全局正则表达式,其中第一个调用列出了所有应该替换为零的备选方案(即删除所有的'=‘和'Base.jpg&'),第二个列表列出了应该替换为空格('images[]’、'_‘和'.png')的备选选项,第三个命令将您的松散端绑定起来:

代码语言:javascript
复制
 var PayName = CanvasData.replace(/=|Base\.jpg&/g,'')
                         .replace(/images\[\]|_|\.png/g, ' ')
                         .replace(/^\s*|\s*&\s*$/g, '');

 // => "Frame Clear & Left Clear & Right Clear & Lenses Lenses-Semi-Clear"
票数 1
EN

Stack Overflow用户

发布于 2013-08-12 06:08:19

尝试将括号转义,否则它们就具有正则表达式的特殊含义(定义字符类)。

代码语言:javascript
复制
CanvasData.replace("images\[\]=", "");

顺便说一句,您已经在替换部分的第二行代码中做了同样的事情。

票数 1
EN

Stack Overflow用户

发布于 2013-08-12 06:19:14

如果方括号[]始终为空,则可以:

var Payname = CanvasData.split("[]").join("");

显然这不能处理一般的案子。

这样做是将[]作为数据分隔符,并将字符串转换为已解析的数组--就像解析"1,3,6,4.5,3“,除了逗号是[]之外。然后,将字符串拆分后形成的数组用一个空白分隔符连接回一个字符串。所有的[]消失了。但那些[occupied]没有。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18180479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档