private static StringBuffer sb;
public static void main(String[] args) {
// Text in a string
String text = "This is a poor sentence in grammar.";
String[] words = text.split("[ .!?]");
for (int i = 0; i < words.length; i++) {
int counter = 0;
if (words[i].length() >= 1) {
for (int k = 0; k < words[i].length(); k++) {
if (Character.isLetter(words[i].charAt(k)))
counter++;
}
sb = new StringBuffer();
sb.append(counter).append(" ");
}
}
System.out.println(sb);
}
이 코드를 더 최적화 할 수 있습니까? 내 Ouptut은 다음과 같습니다 -단어의 문자 수를 반환합니다.
4 2 1 4 8 2 7
좋고 짧습니다. '+'를 추가하면 여러 개의 공백이나 ","분리 단어 같은 것을 먹게됩니다. 예 : "[^ a-zA-Z] +". – phatfingers
예, 사실입니다. 나는이 글을 반영하기 위해 글을 편집 할 것입니다. 더하기 @phatfingers – Boundless