목차
- javac 활용 자바 소스 코드 컴파일 예제 이전 포스팅
- 자바에서 문자열(String) 변수 선언 및 출력 예제 이전 포스팅
- 자바 문자열에서 특정 위치 문자 값 확인 예제 이전 포스팅
- 자바 문자열에서 중복 단어 제거 예제(정규표현식, HashSet)
- 자바 문자열 중복 단어 개수 출력 예제
javac 활용 자바 소스 코드 컴파일 예제 이전 포스팅
오늘 포스팅에서는 문자열 변수에서 특정 단어들이 중복될 경우 제거하는 예제에 대해 알아보겠습니다. 오늘도 역시 java 소스 코드를 컴파일하여 실행해보아야 합니다. 따라서 javac 명령으로 자바 소스 코드 컴파일하는 방법에 대해 모르신다면 아래 링크를 참조하여 학습해주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바에서 문자열(String) 변수 선언 및 출력 예제 이전 포스팅
문자열 변수는 String 타입의 변수입니다. 만약 문자열 변수 선언 방법 혹은 값을 대입하여 예제 문자열을 저장하는 방법에 대해 아직 모르신다면 해당 내용을 우선 학습해주세요. 문자열 변수끼리 조합하거나 혹은 특정 위치를 제거하는 방법을 알아야 오늘 예제를 진행할 수 있습니다. 아래는 문자열 선언 방법에 대한 이전 포스팅 링크입니다.
2023.08.11 - [Java] - [Java/Linux] int, String 등 변수 크기 및 선언 예제
자바 문자열에서 특정 위치 문자 값 확인 예제 이전 포스팅
이전 포스팅에서 장문의 문자열이 있을 때 특정 단어가 어디에 있는지 찾아내는 방법에 대해 알아보았습니다. 특히 charAt 메소드는 특정 문자가 어디 위치에 있는지 알려주는 메소드였습니다. 이러한 기능이 궁금하신 분은 아래 링크를 참조해주세요.
2023.08.11 - [Java] - [Java/Linux] 문자열의 특정 위치 문자 가져오기 예제(charAt)
자바 문자열에서 중복 단어 제거 예제(정규표현식, HashSet)
아래는 긴 장문의 문자열에서 중복된 단어들이 있는지 확인하고 찾아내고 제거하는 예제입니다. 정규표현식을 사용하여 단어단위로 자르고 중복된 단어를 찾아 제거합니다. 만약 "text"의 경우는 마지막단어가 .으로 끝나기때문에 제외되었지만 .을 제거하고 실행해보세요.
import java.util.*;
public class Example {
public static void main(String[] args) {
String inputText = "This is a test test to remove duplicate words from this text text.";
String[] words = inputText.split("\\s+"); // 공백을 기준으로 단어를 분리
System.out.println("Original text:\n" + inputText);
// 중복된 단어 제거
HashSet<String> uniqueWords = new HashSet<>();
StringBuilder result = new StringBuilder();
for (String word : words) {
if (!uniqueWords.contains(word)) {
uniqueWords.add(word);
result.append(word).append(" ");
}
}
System.out.println("\nText after removing duplicate words:\n" + result.toString().trim());
}
}
자바 문자열 중복 단어 개수 출력 예제
아래는 긴 장문의 문자열에서 중복된 단어가 있다면 해당 단어들의 개수가 몇개인지 출력하는 예제입니다.
import java.util.*;
public class Example {
public static void main(String[] args) {
String inputText = "This is a test test to count duplicate words in this text text.";
String[] words = inputText.split("\\s+"); // 공백을 기준으로 단어를 분리
HashSet<String> uniqueWords = new HashSet<>();
HashSet<String> duplicateWords = new HashSet<>();
for (String word : words) {
if (!uniqueWords.add(word)) {
duplicateWords.add(word);
}
}
System.out.println("Duplicate word count: " + duplicateWords.size());
}
}