import java.util.ArrayList;
import java.util.List;
import java.util.Spliterator;
public class TextProcessingExample {
public static void main(String[] args) {
String text = "Hello, world! This is a sample text for processing.";
List<String> words = new ArrayList<>();
Spliterator<String> wordSpliterator = textToWordSpliterator(text);
wordSpliterator.forEachRemaining(words::add);
System.out.println("Words in the text:");
words.forEach(System.out::println);
}
private static Spliterator<String> textToWordSpliterator(String text) {
String[] words = text.split("\\s+");
return List.of(words).spliterator();
}
}
설명: 이 예제에는 "Hello, world! 이것은 처리를 위한 샘플 텍스트입니다."라는 텍스트 문자열이 있습니다. 개별 단어를 처리하고 추출하려는 것입니다. 추출된 단어를 저장하기 위해 words라는 빈 ArrayList를 초기화합니다.
텍스트 문자열을 입력으로 받아 단어에 대한 Spliterator로 변환하는 헬퍼 메소드 textToWordSpliterator를 정의합니다. 이 방법에서는 정규식 "\s+"를 사용하여 텍스트를 분할하여 공백을 기반으로 개별 단어로 분할합니다. 그런 다음 List.of를 사용하여 단어 배열을 List로 변환하고 해당 목록에 대한 Spliterator를 얻습니다.
main 메서드에서 textToWordSpliterator를 호출하여 주어진 텍스트에서 단어에 대한 Spliterator를 얻습니다. Spliterator에서 forEachRemaining 메소드를 사용하여 각 단어를 반복하고 메소드 참조 words::add를 사용하여 words 목록에 추가합니다.
마지막으로 forEach 루프에서 System.out.println을 사용하여 추출된 단어를 인쇄합니다. 출력은 다음과 같습니다.
결과 값
Words in the text:
Hello,
world!
This
is
a
sample
text
for
processing.