求助, Java 按照特定格式读取字符串

2016-08-23 15:20:40 +08:00
 nevin47

最近在做一个日志分析工具,需要对日志文本进行格式化拆分

例如有一系列 AA,BB,CC:DD:EE:FF,GG 类型的文本,用户可以提供这种格式,有没有方法像 CPP 一样把 AA-GG 分别存入对应的字符串数组中呢?

目前只查到了正则的方法,但是让用户写正则实在太不友好了,不知道万能的 V 友们有没有什么建议

2736 次点击
所在节点    Java
7 条回复
nevin47
2016-08-23 15:55:45 +08:00
每人么😂
miao1007
2016-08-23 16:02:05 +08:00
regex group ,为什么要让用户写正则,你写不就可以了
nevin47
2016-08-23 16:13:04 +08:00
@miao1007 因为格式经常会变,代码里面不能把正则写死,而是要去读取用户给的格式描述
miao1007
2016-08-23 16:21:01 +08:00
可以仿照 yyyymmdd 的格式写一个
inoris
2016-08-23 22:17:54 +08:00
如果你说的「像 C++ 一样」指的是 scanf 的话,应该不可以,因为 Java 没有指针,所以类似 scanf("format", args...) 这种形式的方法是不存在的。

想了想似乎 Java 自带的唯一满足要求的就是正则了。同意 @miao1007 的观点,如果想对用户友好的话就自己写一套匹配规则吧。
nevin47
2016-08-23 23:38:56 +08:00
@inoris 看样子只能自己封装一套了。。
leaves615
2016-08-24 23:34:56 +08:00
@nevin47 求开源

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/301200

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX