![](/img/trans.png)
[英]How to split a string using regex with beginning character matches any of this <= | >= | = | !=
[英]How to split a string starting at the beginning of a regex in javascript
例如,我在字符串中有一些数据
const rawData = `1 Jon Doe 3434 535 3 3 353 HI 3535
2 Jane Smith 23 5235 5 5 2352 HELLO 3543
3 Some Guy 4534 35 5345 4 5345 MEOW 4354`
我想使用 .split() 方法使每一行(从订单号开始到最后一个值的末尾)成为数组中的自己的值。
我试过了
rawData.split(/([0-9]+\s+[A-Z][a-z])/g);
正则表达式找到一个数字,后跟一些空格,然后是一个大写字母和一个小写字母(订单号直到名字的开头)
这返回
["", "1 Jo", "n Doe 3434 535 3 3 353 HI 3535", "2 Ja", "ne Smith 23 5235 5 5 2352 HELLO 3543", "3 So", "me Guy 4534 35 5345 4 5345 MEOW 4354"]
我想通过在正则表达式的开头拆分字符串来获得 3 个值。 所以我想结束:
["1 Jon Doe 3434 535 3 3 353 HI 3535", "2 Jane Smith 23 5235 5 5 2352 HELLO 3543", "3 Some Guy 4534 35 5345 4 5345 MEOW 4354"]
我可以想到一个解决方法,使用 for 循环来连接数组中的值。 我很好奇是否有办法在一行上做到这一点。 谢谢!
编辑
我刚刚在正则表达式中发现了前瞻,这有效:
rawData.split(/\s(?=\d+\s+[A-Z][a-z])/g);
为什么不按新行拆分?
const rawData = `1 Jon Doe 3434 535 3 3 353 HI 3535 2 Jane Smith 23 5235 5 5 2352 HELLO 3543 3 Some Guy 4534 35 5345 4 5345 MEOW 4354`, result = rawData.split(/\\n/); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.