2014-12-02 39 views
-3

嗨字符串參數值我正在從Java代碼的輸出如下:提取從Java輸出

access_token=CAAW2msiMWaQBAJSLGF1YFU3rJzIzZCFKB3ZAi9UaZCTwOU52s9EEuXXnyV0NBdZApNphWWHGCDP9iCVeI7qliXRCc43IERm5oqBeDplk3fZCLpZBEAwRY2NjKm4o3e4LlCiiUjPLdDNophNOxczJ9fMb2cZCAqILbh2cDnID1i4QZBkKGwGTLuikcz6ptt8ZCl4WifaGtFl5O6fgnbIbgM89f&expires=5181699 

如何取回的的access_token只值?我的代碼如下:

String line; 
     StringBuffer buffer = new StringBuffer(); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(
       conn.getInputStream())); 

     while ((line = reader.readLine()) != null) 
     { 
      buffer.append(line); 
     } 

     reader.close(); 
     conn.disconnect(); 
     String response1= buffer.toString(); 

謝謝YOu。

+0

嗯,我敢肯定有很多更復雜的方法,但一個不耐煩的方式(13,13+長度標記);' – 2014-12-02 06:46:40

+0

使用guava:'Splitter.on(「&」)。withKeyValueSeparator(「=」)。split(yourString );'給你一個'Map'然後一個'get(「acc ess_token「)給你想要的價值。 – 2014-12-02 06:46:42

回答

0

您可以通過使用拆分做到這一點()字符串

的方法試試這個。

String [] response = response1.split("&"); 

System.out.println("My Token : " + response[0]); 

輸出將是

access_token=CAAW2msiMWaQBAJSLGF1YFU3rJzIzZCFKB3ZAi9UaZCTwOU52s9EEuXXnyV0NBdZApNphWWHGCDP9iCVeI7qliXRCc43IERm5oqBeDplk3fZCLpZBEAwRY2NjKm4o3e4LlCiiUjPLdDNophNOxczJ9fMb2cZCAqILbh2cDnID1i4QZBkKGwGTLuikcz6ptt8ZCl4WifaGtFl5O6fgnbIbgM89f 

然後拿到access_token值試試這個,

String [] tokenValue = response[0].split("="); 

    System.out.println("My Token Value : " + tokenValue[1]); 
+0

謝謝Secondo,它的工作! – Raj 2014-12-02 07:04:56

+0

歡迎先生:)享受編碼:) – Secondo 2014-12-02 07:24:11

1

首先,拆分符號爲&的行。然後分割每個鍵和值等於=。搜索"access_token"並顯示(或使用)它。像,