【发布时间】:2016-02-19 00:04:45
【问题描述】:
如果我有一个看起来像这样的字符串:
String text = "id=2009,name=Susie,city=Berlin,phone=0723178,birthday=1991-12-07";
我只想知道name 和phone 的信息。我知道如何解析整个字符串,但在我的具体情况下,只获取这两个“字段”很重要。
那么让我的搜索方法执行以下操作的最佳/最有效方法是什么:
搜索子字符串“name=”并返回其后的子字符串(“Susie”),直到它到达下一个逗号
我的方法是:
- 获取"name=" first 的最后一个索引
- 然后使用此索引作为我的解析方法的新起点
关于如何更有效地使用更简洁的代码完成此操作,还有其他建议吗?感谢您的任何意见
【问题讨论】:
-
使用
split。如果您确实遇到性能问题,请进行基准测试。 -
使用
Pattern和Matcher仅捕获name=和phone=之后的内容 -
由
,分割,由=分割,循环第一个数组并检查索引0处的第二个分割项是否等于您正在搜索的内容并返回下一个splittet 数组以及循环中的当前索引之一是索引1。
标签: java regex string parsing substring