📅  最后修改于: 2023-12-03 15:31:50.512000             🧑  作者: Mango
在Java中,BreakIterator类提供了一组用于检测文本边界的方法。其中,next(int)
方法用于查找下一个边界位置。
public int next(int n)
:
在给定的位置n之后查找并返回下一个边界的位置。如果不存在边界,则返回文本的末尾位置。
参数说明:
n
:查找的起始位置,必须为非负数且不超过文本长度。返回值说明:
import java.text.BreakIterator;
public class BreakIteratorExample {
public static void main(String[] args) {
String text = "This is an example sentence.";
BreakIterator iterator = BreakIterator.getWordInstance();
iterator.setText(text);
int start = iterator.first();
System.out.println("Text: " + text);
System.out.println("Words in the text:");
for (int end = iterator.next(); end != BreakIterator.DONE; start = end, end = iterator.next()) {
System.out.println(text.substring(start, end));
}
}
}
输出结果如下:
Text: This is an example sentence.
Words in the text:
This
is
an
example
sentence
上述示例中,我们创建了一个文本字符串和一个 BreakIterator 对象。我们使用 getWordInstance()
方法创建了一个“单词边界”的迭代器,并将其设置为检测文本字符串。使用 iterator.first()
方法获得了文本字符串的第一个边界位置,并在其后进行迭代查找。
然后,在 for 循环中,使用 iterator.next()
方法查找下一个边界位置,如果不存在则跳出循环,同时输出子字符串。注意,start 和 end 变量始终保持相邻位置,用于截取子串。最后,输出的就是文本字符串中的所有单词。