将带有方括号的字符串转换为组合方括号内容的列表
Transform string with square brackets into list in where square bracket content is combined
我想转换以下字符串:
[test1 test2] test3 [test4 test5] test6 test7 [test8]
放入以下数组中:
test1 test2, test3, test4 test5, test6, test7, test8
我已经尝试了很多从 $.grep 到 regEx 的东西。但它只是没有削减它。我最接近的是以下几点:
var block_parts = text.match(/[^[']]+(?=])/g);
var rest = text.replace(/ *'[[^']]*]/g, '').split(" ");
var complete = $.merge(rest, block_parts);
但是它的顺序不一样。(休息后会附block_parts)
有人知道我该怎么做吗?
使用双重替换功能。'] +| +'[
将匹配所有]
加上后面的一个或多个空格,以及结束[
以及前面的空格。只需将这些匹配的字符替换为 ,<space>
,然后再次将 [
、]
替换为空字符串。
> var s = "[test1 test2] test3 [test4 test5] test6 test7 [test8]"
undefined
> var m = s.replace(/'] +| +'[/g, ", ").replace(/['[']]/g,'')
undefined
> console.log(m)
test1 test2, test3, test4 test5, test6 test7, test8
更新:
> var m = s.replace(/'] +| +'[|'s+(?!'w+'])/g, ", ").replace(/['[']]/g,'')
undefined
> console.log(m)
test1 test2, test3, test4 test5, test6, test7, test8
相关文章:
- 根据id将json数组组合为一个json数组
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 接受不在列表中的值-引导组合框
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 组合两个javascript函数
- Telerik rad组合框多列数据绑定
- 组合 2 个 JavaScript .scroll 函数
- 如何使用jquery组合两个数组
- onChange不足以从Dojo组合框触发查询
- 使用方括号访问插件原型函数
- 组合承诺和非承诺值
- 所有控件的组合框
- 在D3中组合多个事件
- AngularJS-如何只对多个事件的组合采取行动
- 如何在服务、技能、投资组合等方面添加滑动效果
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 如何在谷歌可视化中组合数字和模式格式化程序
- 更改组合框分页后,getValue和getRawValue返回相同的值
- 类型错误:url未定义extjs 4正在填充组合框
- 将带有方括号的字符串转换为组合方括号内容的列表