如何查找完整段落的句子中的字符数

时间:2019-02-01 00:54:48

标签: java

我正在用Java写一个代码,要求我查找句子1,句子2和直到最后一个句子中的字符数,直到字符串/段落结束。我实际上能够获得整个字符串中的字符数。但是我应该得到的是一个段落中每个句子中有多少个字符。例如,在一个段落中,第一个句子有70个字符,第二个句子有40个字符,依此类推。我认为它与期末有关,但不知道如何执行。

3 个答案:

答案 0 :(得分:0)

检查一下:

String s = "I got it. i seriously got 99.99% of it. never mind the remaining 0.01%";
String[] arrs = s.split("\\. ");
for(String str : arrs) {
    System.out.println(str);
}

以上代码将导致以下结果:

I got it
i seriously got 99.99% of it
never mind the remaining 0.01% 

因此,只要有句号和空格的匹配(即句子终止),我就可以通过分割给定的字符串将整个段落分成句子。 s.split("\\. ")是负责此工作的代码。我用\\转义了.,它在正则表达式中具有特殊的意义。

您可以执行以下操作:

String[] arrs = s.split("\\. ");
for(String str : arrs) {
    int charCount = str.toCharArray().length;
    System.out.println(charCount); //prints size of sentence "str"
}

答案 1 :(得分:0)

只需遍历字符串并将其分成用\ n分隔的子字符串(新段落的符号) 这是一个包含有关其工作原理的更多信息的链接。 https://codingbat.com/doc/java-string-indexof-parsing.html

 int i = 0;
 while(myString.indexOf("\n", i) != -1) {
     //Divides the main string into each paragraph
     String mySubstring = myString.substring(myString.indexOf("\n", i-1), myString.indexOf("\n", i));
     //Prints out length of each paragraph
     System.out.println(mySubstring.length());
     i++;
 }

答案 2 :(得分:0)

您可以将您的段落分割成一个点,再加上任何空白字符,然后将其保存到字符串数组中。
然后遍历数组并计算每个句子的字母。

String paragraph = "This is the first sentence. And this the second one. A third one follows.";

String[] sentences = paragraph.split("\\.\\s");
for(int i = 0; i < sentences.length; i++) {
    System.out.println(String.format("Sentence %d has %d characters", i + 1, sentences[i].length()));
}

这将为您提供以下输出:

Sentence 1 has 26 characters
Sentence 2 has 23 characters
Sentence 3 has 20 characters

请注意,这并不涵盖包含e的句子。 G。 Mr.或任何缩写。