2011-04-18 4 views
2

내가 String 변수를 사용하지 않고 문자열 내용을 교체 replace 또는 replaceAll을 사용하지 않고이 작업을 수행합니까?교체하거나 완전히 대체하기

+5

왜 replaceAll을 사용하지 않으시겠습니까? –

+0

이것이 숙제 일 수 있습니다. –

+0

coz 내가 replaceAll 메서드를 사용하면 사방에 바뀔 것입니다 (예 : "abc boy abc funny os abc abcifff abc abc boy abc" "boy as the funny os theifff the boy"로 변경하십시오.). 그러나 " abc ", 변경해야만합니다. – shree

답변

3

이것은 숙제 문제 나 비슷한 것처럼 들리므로 몇 가지 힌트를 드리겠습니다.

(1) 자바 StringTokenizer 클래스 봐

(2) (의사)처럼 작동 루프에서 그것을 사용하는 방법을 생각 :

while there are substrings left to process 
    get the next substring in s 
    if that is "abc" 
     append "the" to the result 
    else 
     append s to the result 

사이에 공백을 처리하는 것을 잊지 마세요 단어들.

0

규칙은 창의적인 해석이 필요합니다! Pattern 클래스를 사용하십시오!

Pattern.compile("abc").matcher(yourString).replaceAll("the") 
0

의견에 따라, replaceAll에 금지가 오해로 인해, 때문에이 시도 :

System.out.println(" abc boy abc funny os abc abcifff abc abc boy abc".replaceAll(
      "(?)abc(+|$)", "$1the$2")); 

출력 :하여 abcifff

소년 재미있는 O를 소년

관련 문제