【发布时间】:2016-05-04 03:21:05
【问题描述】:
我有很多类似
的字符串var str="#{ZyDt8spGZOA.mI8uHaT7o47}+#{z3PENrRf0cn.mI8uHaT7o47}+#{lhUBSvCMPWu.mI8uHaT7o47}+#{YNpiWU7fw9m.mI8uHaT7o47}";
我只需要将大括号内的内容获取到数组中。 (在上述情况下,数组长度为 4)。
我怎样才能做到这一点?
【问题讨论】:
标签: javascript regex
我有很多类似
的字符串var str="#{ZyDt8spGZOA.mI8uHaT7o47}+#{z3PENrRf0cn.mI8uHaT7o47}+#{lhUBSvCMPWu.mI8uHaT7o47}+#{YNpiWU7fw9m.mI8uHaT7o47}";
我只需要将大括号内的内容获取到数组中。 (在上述情况下,数组长度为 4)。
我怎样才能做到这一点?
【问题讨论】:
标签: javascript regex
var found = [],
rxp = /{([^}]+)}/g,
str = "#{ZyDt8spGZOA.mI8uHaT7o47}+#{z3PENrRf0cn.mI8uHaT7o47}+#{lhUBSvCMPWu.mI8uHaT7o47}+#{YNpiWU7fw9m.mI8uHaT7o47}",
mat;
while( mat = rxp.exec( str ) ) {
found.push(mat[1]);
}
alert(found);
【讨论】:
array = str.split("}+#{");
做完这个结果会是这样的
array[0] = "#{ZyDt8spGZOA.mI8uHaT7o47"
array[1] = "z3PENrRf0cn.mI8uHaT7o47"
array[2] = "lhUBSvCMPWu.mI8uHaT7o47"
array[3] = "YNpiWU7fw9m.mI8uHaT7o47}"
在此之后,只需从 array[0] 和 array[3] 中删除额外的字符串
array[0] = array[0].substring(2, array[0].length)
array[3] = array[3].substring(0, array[3].length-1)
【讨论】: