我希望有更好的方法来写这个?去掉方括号对我来说是个问题。
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 谢谢
发布于 2013-08-12 06:13:50
调用替换为三个全局正则表达式,其中第一个调用列出了所有应该替换为零的备选方案(即删除所有的'=‘和'Base.jpg&'),第二个列表列出了应该替换为空格('images[]’、'_‘和'.png')的备选选项,第三个命令将您的松散端绑定起来:
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"发布于 2013-08-12 06:08:19
尝试将括号转义,否则它们就具有正则表达式的特殊含义(定义字符类)。
CanvasData.replace("images\[\]=", "");顺便说一句,您已经在替换部分的第二行代码中做了同样的事情。
发布于 2013-08-12 06:19:14
如果方括号[]始终为空,则可以:
var Payname = CanvasData.split("[]").join("");
显然这不能处理一般的案子。
这样做是将[]作为数据分隔符,并将字符串转换为已解析的数组--就像解析"1,3,6,4.5,3“,除了逗号是[]之外。然后,将字符串拆分后形成的数组用一个空白分隔符连接回一个字符串。所有的[]消失了。但那些[occupied]没有。
https://stackoverflow.com/questions/18180479
复制相似问题