2014-07-12 2 views
0

다음 문장 유형이 있습니다. 나는 문장을 다음과 같이 두 부분으로 나누고 싶다.문장을 두 부분으로 나누는 방법은 무엇입니까?

예 :

Nimal read/write book/newspaper from his pen. 

내가 문장 위에 다음과 같은 방법을 분할하고 ArrayList를에 추가 할. 평균의

Nimal/read 
Nimal/write 
read/book 
read/newspaper 
write/book 
write/newspaper 
book/from 
newspaper/from 
from/his 
his/pen. 

나는 분열이 다음 약속 할게요에서 두 단어 문구를 얻으려면 내가 다음에 무엇을 할 수없는 분명한 생각을 가지고 sentences.But을 추가했다.

ArrayList<String> wordArrayList2 = new ArrayList<String>(); 
    String sentence="Nimal read/write book/newspaper from his pen"; 
    for(String wordTw0 : sentence.split(" ")) { 
     wordArrayList2.add(wordTw0); 
    } 
+0

정규식이 경우 도움이되지 않습니다. – Braj

답변

2

String#split() 방법을 사용하는 간단한 프로그램입니다.

단계는 다음과 같이하십시오

  1. 은 하나 이상의 공백을 기준으로 전체 문자열을 분할합니다.
  2. 길이 -1까지 배열의 모든 문자열을 반복합니다.
  3. 은 (I) 번째 행 한번에 어레이에서 두 문자열을 얻고 (ⅰ + 1) 번째의 위치
  4. 분할 슬래시에 기초하여 상기 스트링
  5. 대하여 반복 어레이 둘 모두 전방으로 후 접합 단어를 만들 슬래시
  6. 목록의 모든 단어를 추가하십시오.

샘플 코드 :

String str = "Nimal read/write book/newspaper from his pen."; 

ArrayList<String> wordArrayList = new ArrayList<String>(); 
String[] array = str.split("\\s+"); // split based on one or more space 
for (int i = 0; i < array.length - 1; i++) { 
    String s1 = array[i]; 
    String s2 = array[i + 1]; 

    String[] a1 = s1.split("/"); //split based on forward slash 
    String[] b1 = s2.split("/"); //split based on forward slash 
    for (String a : a1) { 
     for (String b : b1) { 
      String word = a + "/" + b; 
      wordArrayList.add(word); 
      System.out.println(word); 
     } 
    } 
} 

출력 :

Nimal/read 
Nimal/write 
read/book 
read/newspaper 
write/book 
write/newspaper 
book/from 
newspaper/from 
from/his 
his/pen. 
+0

고맙습니다 @ 브래지어 잘 작동합니다 :). 많이 걸립니다. 오늘 하루 보내세요. – Maduri

+0

내 기쁨. 천만에요. – Braj

관련 문제