Java의 문자열에서 구두점 제거

텍스트 처리 중에 특정 단어를 검색하고 패턴 일치 규칙을 만들거나 요소의 빈도를 계산하는 등 - 구두점은 계획에 어려움을 줄 수 있습니다.

종종 불용어, 구두점, 숫자 등을 제거하고 싶을 것입니다. 일부 최종 목표가 무엇인지에 따라 캐릭터의 범주.

이 짧은 자습서에서는 Java의 문자열에서 구두점을 제거하는 방법을 살펴보겠습니다.

RegEx(정규 표현식)를 사용하여 문자열에서 구두점 제거

정규식은 다른 처리 부분의 일부가 될 가능성이 높고 효율적인 패턴 일치자이기 때문에 여기에서 매우 자연스럽습니다! Java에서 구두점 일치를 위한 정규식은 다음과 같습니다. p{Punct} 또는 속기 p{P}.

문자열의 첫 번째 백슬래시를 이스케이프 처리해야 하므로 모든 구두점을 제거하는 것은 일치시키고 빈 문자로 바꾸는 것과 같습니다.

String.replaceAll("p{P}", "")

간단한 문장에 적용해 보겠습니다.

String text = "Hi! This is, in effect, a synthetic sentence. It's meant to have several punctuation characters!";
String clean = text.replaceAll("p{P}", "");
System.out.println(clean);

결과 :

Hi This is in effect a synthetic sentence Its meant to have several punctuation characters

여기에서 구두점으로 처리되는 문자를 살펴보겠습니다.

String text = "!#$%&'()*+,-./:;[email protected][]^_`{|}~";
String clean = text.replaceAll("p{P}", "");
System.out.println(clean);

구두점을 제거한 후 남은 특수 문자는 무엇입니까?

$+^`|~

RegEx 없이 문자열에서 구두점 제거

정규식을 사용하지 않으려면 문자열의 각 문자를 반복하면서 수동 검사를 수행할 수 있습니다. 사용하는 것을 기억하십시오 StringBuffer 대신에 String 이 작업을 수행하는 동안 문자열은 변경할 수 없으며 문자를 추가할 때마다 복사본을 만들어야 하므로 string.length 메모리의 문자열 수.

StringBuffer 변경 가능하며 프로세스가 끝날 때 변경할 수 없는 문자열로 쉽게 변환될 수 있습니다.

모범 사례, 업계에서 인정하는 표준 및 포함된 치트 시트가 포함된 Git 학습에 대한 실습 가이드를 확인하십시오. 인터넷 검색 Git 명령을 중지하고 실제로 배움 이것!

public static String removePunctuations(String s) {
    StringBuffer buffer = new StringBuffer();
    for (Character c : s.toCharArray()) {
        if(Character.isLetterOrDigit(c))
            buffer.append(c);
    }
    return buffer.toString();
}

문자열을 만들고 정리합시다.

String text = "Hello! nHere are some special characters: !#$%&'()*+,-./:;[email protected][]^_`{|}~ nWhere are they? :(n";
System.out.println(text);
String clean = removePunctuations(text);
System.out.println(clean);
Hello! 
Here are some special characters: !#$%&'()*+,-./:;[email protected][]^_`{|}~ 
Where are they? :(

HelloHerearesomespecialcharactersWherearethey

이 프로세스는 더 사용자 정의할 수 있지만 문자와 숫자만 확인합니다. 대안으로 문자 코드를 수동으로 확인할 수 있으며 대신 일부 구두점 문자만 제외하고 공백, 줄 바꿈 등은 그대로 둘 수 있습니다.

결론

이 짧은 튜토리얼에서는 Java의 문자열에서 구두점이나 특정 특수 문자를 제거하는 방법을 살펴보았습니다. for 고리.

타임 스탬프 :

더보기 스택카부스