2014-12-03 5 views
0

자바 정규식 그 단어의

를 시작하지 않는 경우
"I'am peter and i'm apetering or fadapetering" 

구문 문자열에서 문구를 삭제 : 애완 동물

결과 : I는 "애완 동물"예를 들어 문구를 삭제해야

I'am peter and i'm aering or fadaering" 

단어의 시작이 아니라면!

내가 너무 단어의 시작을 삭제테니까 내가 '데 문제가 정상 정규식을 사용하는 동안 :

outs = textOuts.replaceAll("\\w+" + givePhrase, ""); 

모든이 문자열에 있습니다.

답변

0

이에 대한 긍정적 인 lookbehind를 사용합니다.

String input = "I'am peter and i'm apetering or fadapetering"; 
System.out.println(
    input 
    .replaceAll("(?<=\\w)pet", "") 
); 

출력

특수 구조 (명명 된 캡처 및 비 캡처)API를 참조

I'am peter and i'm aering or fadaering 

참고.

1

심지어 뒤에 살펴 필요가 없습니다

outs = textOuts.replaceAll("\\B" + givePhrase, ""); 

정규식 표현 \B "이 아닌 단어 경계"(\b "단어 경계"의 반대)을 의미합니다.