2014-10-30 2 views
-2

문자열의 앞과 끝에서 표기법을 없애는 방법이 있습니까?문자열 앞뒤에 구두점을 없애는 정규식

예를 들어

, 즉

"hello," -> "hello" 
"hello;" -> "hello" 

, 그들이 이상의 문자 다음에하는 경우 전후, 또는 단어 내에서 작은 따옴표 및 단일 대시를 제외한 모든 문장 부호를 제거합니다.

"lies,", "'This", "all-eating" and "deserv'd." 

"lies", "this", "all-eating" and "deserv'd" 
+1

'전, 후 모든 문장 부호를 제거 또는 word' 내 단어 내에서 대한 예를 제공합니다. 또한 귀하의 시도를 보여주는 것을 잊지 마십시오. –

+0

"거짓", "이", "모든 것을 먹는"과 "deserv'd"로가는 "거짓", "이", "모두 먹는"과 "맛있는 것" – paupau

+0

예상되는 출력? 귀하의 질문에 위의 의견을 추가하십시오. –

답변

0

가 poxix 정규식 기간 \p{Punct}를 사용 될 것입니다

더 많은 예제는 :

str = str.replaceAll("^\\p{Punct}*|\\p{Punct}+$|\\p{Punct}{2,}", "") 

중반 단어 구두점은 "두 개 이상을 사용하여 제거 "일치.


일부 테스트 코드 :

for (String str : new String[]{"hello,", "hello;", "li--es", "'This", "all-eating", "deserv'd."}) 
    System.out.println(str.replaceAll("^\\p{Punct}*|\\p{Punct}+$|\\p{Punct}{2,}", "")); 

출력 :

hello 
hello 
lies 
This 
all-eating 
deserv'd 
관련 문제