[英]Retrieve data from a String
我有这个来自表单的字符串:
String tmp = "Reason: decision=deny&denyReason=1&denyReasonSubcategory=PoorQuality&subCategoryComments=testsubCategoryComments=subCategoryComments=denyReasonSubcategory=ReviewAgainsubCategoryComments=hellosubCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryComments=subCategoryCommen=&subCategoryComments=&subCategoryComments=&subCategoryComments=&subCategoryComments=";
从上面的字符串中我需要检索:
denyReason=1
denyReasonSubcategory=PoorQuality subCategoryComments=test
denyReasonSubcategory=ReviewAgain subCategoryComments=hello
我需要将它们保存如下:
在一个数组中拒绝原因,所以我可以找到相应的值。
休息为:质量差:测试; 再次回顾:你好
我试过以下:
for (String word : tmp.split("\\&+")){
if (word.contains("declineReason")){
System.out.println(word.indexOf("declineReason"));
// coming as 0
}
if (word.contains("declineReasonSubcategory")){
System.out.println("helloo");
}
if (word.contains("subCategoryComments")){
System.out.println("hii");
}
}
}
老实说,我已经很久没有像这样处理字符串了,而且对如何获取数据几乎没有迷失。
我会使用扫描仪来提取值。
一台扫描仪提取对。 另一个扫描器来提取该对的值。
看:
import java.util.*;
public class Main{
public static void main(String[] args) {
String tmp = "Reason: decision=deny&denyReason=1&denyReasonSubcategory=PoorQuality&subCategoryComments=testsubCategory";
Scanner s = new Scanner(tmp).useDelimiter("\\&");
while(s.hasNext()){
Scanner s2 = new Scanner(s.next()).useDelimiter("=");
System.out.println(s2.next() + ":" + s2.next());
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.