2017-05-30 87 views
-5

嗨獲取文本我從服務器獲取這個字符串:JAVA從字符串

id_not="autoincrement"; id_obj="-"; id_tr="-"; id_pgo="-"; typ_not=""; tresc="Nie wystawił"; datetime="-"; lon="-"; lat="-"; 

我需要建立一個新的字符串前串字和發送的值,我從字符串相處tresc="Nie wystawił"

+0

這沒有多大意義。什麼是「e.x」? –

+0

從服務器返回json –

+7

誰提出這樣不明確的問題? – Jens

回答

1

像@Jan建議在評論你可以使用正則表達式例如JSON解析可能是從長遠來看要好得多:

String str = "id_not=\"autoincrement\"; id_obj=\"-\"; id_tr=\"-\"; id_pgo=\"-\"; typ_not=\"\"; tresc=\"Nie wystawił\"; datetime=\"-\"; lon=\"-\"; lat=\"-\";"; 

Pattern p = Pattern.compile("tresc(.*?);"); 
Matcher m = p.matcher(str); 

if (m.find()) { 
    System.out.println(m.group()); 
} 

輸出

tresc="Nie wystawił"; 

如果您只想得到tresc的值,您可以使用:

Pattern p = Pattern.compile("tresc=\"(.*?)\";"); 
Matcher m = p.matcher(str); 

if (m.find()) { 
    System.out.println(m.group(1)); 
} 

輸出

Nie wystawił 
1

東西的

Pattern p = Pattern.compile("tresc=\"([^\"]+)\"); 
Matcher m = p.matcher(stringFromServer); 
if(m.find()) { 
    String whatYouWereLookingfor = m.group(1); 
} 

線應招。如果你需要額外的價值

0

你的問題還不清楚,但我認爲你從服務器和你想爲tresc字符串/值的字符串得到的字符串。你可以首先在你得到的字符串中搜索tresc。如:

serverString.substring(serverString.indexOf("tresc") + x , serverString.length()); 

這裏用'你多少多少你想選擇字符替換x'。

閱讀來自

正如值由分號隔開,以便annother的解決辦法是:

int delimiter = serverstring.indexOf(";"); 
//in string thus giving you the index of where it is in the string 

//現在分隔符可以是-1,如果讓我們說字符串沒有 」;」根本就不是「;」未找到。 //檢查並解釋它。

if (delimiter != -1) 
String subString= serverstring.substring(5 , iend); 

這裏5意味着tresc是在字符串中的第五個,所以它會五你tresc的一部分。

然後您可以隨意使用它。