2017-03-23 2 views
-3
String s; //contains the main string i have to input 
String s1; //is the set of the 1st and 3rd word 
String st; //st is to get the 3 words separately 
char c; 
int i; 
     int l=s.length();//l is for length of string 
for(i=0;i<l;i++){ 
       c=s.charAt(i); 
       if(c==' '){ 
        if(st.equals("Middle")){ 
        st=""; 
        } 
        else{ 
        s1=s1+" "+st; 
        st=""; 
        } 
       } 
       else{st=st+c;} 
    } 
    System.out.println(s1); 

나는이 질문에 3 시간을 보냈지 만, 왜 내 코드가 첫 번째 단어를 출력하여 실행하는지 디버그 할 수 없으며 나머지 단어는 2 단어 만 남기고 싶습니다. 나는이 프로그램을 실행하는 방법을 알고 있지만이 방법은 새로운 무엇이 잘못 된지 모르겠다.어떻게 3 단어의 문자열에서 중간 단어를 제거합니까?

+1

[mcve] – Jens

+1

을 제공하십시오.'l','st' 및'c'는 무엇입니까? – Mistalis

답변

0

split을 사용한다. 예를 들어 문자열이 "A String Example"인 경우. 그런 다음 단어의 문자열을 유지하고 싶은 말은하자 :

String[] array; 
String txt = "A String Example"; 
String output; 
array=txt.split(" "); // split the text using space. 
output = array[1]; // if you want to keep the second word. 

을 배열에 포함 된이 시점에서 [A, 문자열, 예]. 텍스트가 공간을 포함하고 있으면 어디에서나 텍스트가 분할되기 때문입니다. 그런 다음 원하는 단어를 선택하십시오. 중간 단어를 배열 [1] 등으로 바꾸려면

+0

고맙습니다 ......... 나는이 method.it를 알고 있습니다 질문에있는 코드의 오류를 알고 싶어하는 저의 전형적인 프로그래머입니다 :) –

+0

"Middle"라는 단어가 있다고 가정하는 코드는 " 입력 텍스트에. 왜 그럴 수 있죠? – gvlachakis

+0

중간은 문자열의 중간 단어에 불과합니다. 중간 단어가 ABC 인 경우 중간 대신 ABC를 사용합니다. –

관련 문제