Java BreakIterator preceding()方法及示例

来源:这里教程网 时间:2026-02-17 20:36:11 作者:

Java BreakIterator preceding()方法及示例

java.text.BreakIterator 类的 preceding() 方法是用来获取指定字符偏移量的边界之前的最后一个边界的字符索引。它提供了BreakIterator所指向的当前边界之后或之前的边界的第一个字符的偏移。

语法

public int preceding(int offset)

参数: 它需要找到前一个边界的字符的 偏移量

返回值: 该方法提供了在指定字符偏移量之前的边界的 索引

异常: 如果指定的索引小于第一个文本边界或大于最后一个文本边界,该方法会产生 IllegalArgumentException

下面是说明 firsting() 方法的例子。

例1 :

// Java program to demonstrate preceding() method  import java.text.*;import java.util.*;import java.io.*;  public class GFG {    public static void main(String[] argv)    {        // creating and initializing with zero        int current = 0, next = 0;          // creating and initializing BreakIterator        BreakIterator wb            = BreakIterator.getWordInstance();          // setting text for BreakIterator        wb.setText("Code  Geeks");          // setting the current position to 11        // by skipping 3 boundaries        wb.next(3);          // getting the current text boundary        current = wb.current();          // display the result        System.out.println(            "current position before"            + " calling preceding() : "            + current);          // calling preceding() method        next = wb.preceding(6);          // display the result        System.out.println(            "\ncurrent position after"            + " calling 1st preceding() : "            + next);          // calling preceding() method        next = wb.preceding(11);          // display the result        System.out.println(            "\ncurrent position after"            + " calling 2nd preceding() : "            + next);    }}

输出:

current position before calling preceding() : 11current position after calling 1st preceding() : 4current position after calling 2nd preceding() : 6

例2 :

// Java program to demonstrate preceding() method  import java.text.*;import java.util.*;import java.io.*;  public class GFG {    public static void main(String[] argv)    {        try {            // creating and initializing with zero            int current = 0, next = 0;              // creating and initializing BreakIterator            BreakIterator wb                = BreakIterator.getWordInstance();              // setting text for BreakIterator            wb.setText("Code  Geeks");              // setting the current position to 11            // by skipping 3 boundaries            wb.next(3);              // getting the current text boundary            current = wb.current();              // display the result            System.out.println(                "current position before"                + " calling preceding() : "                + current);              // calling preceding() method            next = wb.preceding(6);              // display the result            System.out.println(                "\ncurrent position after"                + " calling 1st preceding() : "                + next);              // calling preceding() method            next = wb.preceding(-1);              // display the result            System.out.println(                "\ncurrent position after"                + " calling 2nd preceding() : "                + next);        }        catch (IllegalArgumentException e) {              System.out.println(                "\noffset is less than the first boundary");            System.out.println("Exception thrown : " + e);        }    }}

输出:

current position before calling preceding() : 11current position after calling 1st preceding() : 4offset is less than the first boundaryException thrown : java.lang.IllegalArgumentException: offset out of bounds

参考资料: https://docs.oracle.com/javase/9/docs/api/java/text/BreakIterator.html#preceding-int-

相关推荐