split函数正则匹配,如何让前面不是数字的冒号作为分割符
本吊这里写小代码有个需求,就是分割字符串中的键值对,字符串中键值对之间是用冒号隔开的,但是有一些值中本身就存在冒号,比如时间,请问如何正确的分割冒号呢。。
希望能做到的就是,我以":"为分割符,但是如果冒号前面是数字就不是分隔符了
也就是说只有 冒号前面不是数字的 这个冒号才是分割的凭证
已知字符串
String str="姓 名:王尼玛 性 别: 男 播音时间: 每天10:20PM";
请注意一下,空格不能作为分隔符,因为不知道哪里就会出现一个空格,比如姓名中间可能会有空格,冒号后面可能出现空格,各种情况都有的
求如何将其分割为
["姓 名","王尼玛 性 别","男 播音时间"," 每天10*:*20PM"]
再更深入一些,就是如何分割为
[["姓名","王尼玛"],["性别","男"],["播音时间","每天10*:*20PM"]]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
/:(?!\d)/
ES6
正则都差不多,就用js演示一下~
java
java写程序很繁琐,叠床架屋的~
用python就轻松多了~
r'([^:]+):(?!\d)([^ ]+)'