2010-02-01 227 views
0

如何顯示此字符?子?分割? ...在字符串中查找字符串

但它也許是動態的!

String str = "SET ENCALSUP=NOENCR&GSMV2,MAXNCELL=16,TDTMWIND=5,MAXLAPDMN=5,EENHDTMSUP=DISABLED,T3197=4,PAGCOORCLB=DISABLED,DGRSTRGYBCNT=DISABLED,PAGQOVLIND=0;"; 

這個輸出(EENHDTMSUP =已禁用):

只是這

DISABLED 

謝謝...

+0

我有點困惑。你想顯示每個鍵 - >值對嗎? –

+12

您尚未指定應該選擇子字符串的條件。目前,您的問題的答案是'System.out.println(「EENHDTMSUP = DISABLED」)'。 – Jherico

+0

http://java.sun.com/docs/books/tutorial/essential/regex/ – hakre

回答

4

你的問題不是很清楚。你只需要知道「EENHDMSUP」的價值?

如果是這樣,是這樣的:

int start = myString.indexOf("EENHDTMSUP="); 
String substr = myString.subString(start,myString.indexOf(',',start); 
System.out.println(substr); 

可能會工作。

+0

謝謝親愛的乍得:-) – Freeman

+0

親愛的乍得我怎麼能出口只是價值例如在這種情況下只是它:「禁用」 – Freeman

1

這是你在找什麼?

StringTokenizer tokenizer = new StringTokenizer(str.substring(4),","); 
while(tokenizer.hasMoreTokens()){ 
    System.out.println(tokenizer.nextToken()); 
} 
+0

您的第一個tokenizer.nextToken()將顯示: 「SET ENCALSUP = NOENCR&GSMV2」。我想他希望刪除「SET」。 –

+0

我已經將傳遞給標記器構造函數的字符串上的子串刪除了「SET」。這不應該是一個問題。 –

+0

雖然看起來不像這是海報的要求。好吧。 –

0

不確定你的意思是「但它可能是動態的。」 但如果字符串始終遵循該格式和「EENHDTMSUP =已禁用」停留在字符串中相同的索引,那麼你可以使用:

String output = str.Split(',')[4]; 
0

你爲什麼不嘗試一下呢?

String[] strings = str.split(","); 

for (String s:strings) { 
    if (s.toLowerCase().startsWith("set ")) { 
     s = s.substring("set ".length()); 
    } 

    System.out.println(s); 
} 

當然使用正則表達式;)