我有一个包含以下数据的字符串:
user_id:16|login_id:6|pass_id:6|email:abc@abc.com|product_id:|name:Mike|created_date:20120101:12:22|address:US
如何在Java中获取每个字段?
我可以使用split但后来如何获得冒号分隔符?另外,我如何处理created_date,因为它有2个冒号,所以我将无法用冒号分隔。
另请注意,product_id为空。
非常感谢Java 1.6中的任何示例。
谢谢!
答案 0 :(得分:4)
我想到的第一个解决方案是:(不确定这是否有效)
|
示例:
String str = "user_id:16|login_id:6|pass_id:6|email:abc@abc.com|product_id:|name:Mike|created_date:20120101:12:22|address:US";
String[] strArr = str.split("\\|");
for (String string : strArr) {
System.out.println("First part: " + string.substring(0, string.indexOf(":")));
System.out.println("Second part: " + string.substring(string.indexOf(":")+1));
System.out.println();
}
假设:名称中没有:
(第一部分)。即第一个:
将始终位于完整名称(第一部分)之后,然后是值(第二部分)。
答案 1 :(得分:0)
只有当您非常确定从源获取的数据始终严格遵循此标准时,您才可以使用此技术(分隔字符串)。
另外找一些其他技术,最好是XML或JSON。