我有这个String Var str:
3002033185160426195531991010-00000000050086093500001 ул. Щевченко 36 а/б 0056763185160426195517991010-00000000080086093500001 ул. Щевченко 36 а/б 0056753185160426195501991010-00000000090086093500001 ул. Щевченко 36 а/б 005674
我需要剪切字符串并使用值创建新数组:
array[0] : "3002033185160426195531991010-00000000050086093500001"
array[1] : "0056763185160426195517991010-00000000080086093500001"
array[2] : "0056753185160426195501991010-00000000090086093500001"
我尝试使用str.split(" ");
,但会有一个非常大的数组。怎么做?请帮帮我!!!
答案 0 :(得分:1)
答案 1 :(得分:1)
假设格式已修复:
> arr = str.match(/\d{28}-\d{23}/g)
> ["3002033185160426195531991010-00000000050086093500001", "0056763185160426195517991010-00000000080086093500001", "0056753185160426195501991010-00000000090086093500001"]
答案 2 :(得分:1)
尝试像stringjs这样的字符串库。 你可以使用collapseWhitespace()方法来实现这样的东西:
var str = S(' String \t libraries are \n\n\t fun\n! ').collapseWhitespace().s; //'String libraries are fun !'
然后你可以使用.split('')方法进行拆分。
答案 3 :(得分:1)
str.match(/[\d-]{50,}/g)
// => ["3002033185160426195531991010-00000000050086093500001", "0056763185160426195517991010-00000000080086093500001", "0056753185160426195501991010-00000000090086093500001"]
您可以调整50
号码,该号码可以区分您想要的大号码,例如"3002033185160426195531991010-00000000050086093500001"
,来自您不需要的小号码,例如"36"
。
答案 4 :(得分:1)
var str = '3002033185160426195531991010-00000000050086093500001 ул. Щевченко 36 а/б 0056763185160426195517991010-00000000080086093500001 ул. Щевченко 36 а/б 0056753185160426195501991010-00000000090086093500001 ул. Щевченко 36 а/б 005674';
var results = str.match(/[\d-]{50,}/g);
for (i in results) {
var node = document.createElement("LI");
var textnode = document.createTextNode(results[i].toString().trim());
node.appendChild(textnode);
document.getElementById("results").appendChild(node);
}
<ul id="results"></ul>