[英]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.