Java에서 문자열의 단어 수 가져 오기
-
StringTokenizer
를 사용하여 Java에서 문자열의 단어 수 계산 -
split()
및 정규식을 사용하여 Java에서 문자열의 단어 수 계산 - Java의 문자열에서 단어가 반복되는 횟수 가져 오기
이 기사에서는 Java에서 문자열의 단어 수를 계산하는 방법과이를 달성하는 다양한 방법에 대해 설명합니다.
StringTokenizer
를 사용하여 Java에서 문자열의 단어 수 계산
Java의StringTokenizer
클래스를 사용하면 문자열을 여러 토큰으로 나눌 수 있습니다. 이 클래스의 메서드는 인용 된 문자열, 식별자 및 숫자를 구별하지 않으며 주석을 인식하거나 건너 뛰지 않습니다. 토큰을 구분하는 문자 (구분자)는 생성시 또는 토큰별로 지정할 수 있습니다.
StringTokenizer
클래스는 공백과 탭을 자동으로 계산하지 않으므로 자체적으로 처리됩니다.
import java.util.StringTokenizer;
public class WordCount {
public static void main(String args[]) {
String mydelim = " - ";
String myString = "The sky - - is blue!";
StringTokenizer stringTokenizer1 = new StringTokenizer(myString);
StringTokenizer stringTokenizer2 = new StringTokenizer(myString, mydelim);
int tokensCount1 = stringTokenizer1.countTokens();
int tokensCount2 = stringTokenizer2.countTokens();
System.out.println("Word count without delimiter: " + String.valueOf(tokensCount1));
System.out.println("Word count: " + String.valueOf(tokensCount2));
}
}
출력:
Word count without delimiter: 6
Word count: 4
여기에서 생성자에 문자열을 전달하여stringTokenizer1
을 만들었습니다. 기본 구분 기호를 사용하는 반면stringTokenizer2
의 경우 개별 토큰에 대한 사용자 지정 구분 기호가 전달됩니다. 첫 번째 방법은 하이픈을 세는 반면 두 번째 방법은 그렇지 않습니다.
split()
및 정규식을 사용하여 Java에서 문자열의 단어 수 계산
Java의split(String regex)
메소드는 정규식을 취하고 정규식과 일치하는 주어진 문자열을 끊고 문자열 배열을 리턴합니다.
여기에서 사용하는 정규 표현식은\\s+
로 공백을 문자열에서 분리하거나 즉, 주어진 문자열을 공백 주위로 분할합니다. 문자열의 단어 수는length
를 호출하여 얻을 수있는 문자열 배열words
의 길이와 같습니다. 출력에는myStr
의 단어 수가 표시됩니다.
public class WordCount {
public static void main(String args[]) {
String myStr = "the butcher's wife, she was from Montreal";
String[] words = myStr.split("\\s+");
System.out.println("Word Count is: " + words.length);
}
}
출력:
Word Count is: 7
Java의 문자열에서 단어가 반복되는 횟수 가져 오기
주어진 문자열에서 단어가 반복되는 횟수를 계산할 수 있습니다. 여기서randomText
는blue
단어가 반복되는 횟수를 찾아야하는 문자열입니다. 이를 위해int
유형의times
변수를 취하여 0으로 초기화합니다. 0에서randomText
길이까지for
루프를 실행합니다.
startsWith()
메소드는 문자열이 주어진 문자열의 문자로 시작하는지 비교합니다. i = 0
의 경우randomText.substring(0)
메소드는 인덱스 0에서 하위 문자열을 가져 와서startsWith("blue")
인지 확인하고 일치하면times
를 1 씩 증가시킵니다. 그렇지 않으면 증가하지 않습니다.
마찬가지로, 나머지 길이를 확인하고 주어진 문자열에서 단어가 반복 된 횟수를 출력으로 인쇄합니다.
public class WordCount {
public static void main(String args[]) {
String randomText = "The sky is blue it meets the sea which is also blue";
String text = "blue";
int times = 0;
for (int i = 0; i < randomText.length(); i++) {
if (randomText.substring(i).startsWith(text)) {
times++;
}
}
System.out.println(randomText + " contains " + text + " " + times + " times");
}
}
출력:
The sky is blue it meets the sea which is also blue contains blue 2 times
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn