2010-02-01 11 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) :

그냥이

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

친애하는 Chad에게 어떻게하면 값을 내보낼 수 있습니까?이 경우에는 "DISABLED" – 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

tokenizer 생성자에 전달 된 문자열의 하위 문자열이있는 "SET"을 제거했습니다. 이것은 문제가되어서는 안됩니다. –

+0

포스터가 묻고있는 것처럼 보이지는 않지만. 오 잘. –

0

당신이 "어쩌면 역동적 인 것"이 무엇을 의미하는지 확실하지 않습니다. 그러나 문자열이 항상 형식과 문자열에서 같은 인덱스 "EENHDTMSUP = DISABLED"유지를 따른다면, 당신은 사용할 수 있습니다

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); 
} 

,