簡體   English   中英

從字符串中檢索數據

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM