The offsetByCodePoints() method of StringBuilder class returns the index within this String contained by StringBuilder that is offset from the index passed as parameter by codePointOffset code points. Unpaired surrogates lies between index and codePointOffset count as one code point each.
Syntax:
public int offsetByCodePoints(int index,
int codePointOffset)
Parameters: This method takes two parameters:
- index: the index to be offset
- codePointOffset: the offset in code points
Return Value: This method returns the index within this sequence.
Exception: This method throws IndexOutOfBoundsException if any one below is true:
- index < 0 or index > length of the sequence.
- codePointOffset > 0 and the subsequence starting with index has fewer than codePointOffset code points
- codePointOffset < and the subsequence before index has fewer than the absolute value of codePointOffset code points.
Below programs demonstrate the offsetByCodePoints() method of StringBuilder Class:
Example 1:
class GFG {
public static void main(String[] args)
{
StringBuilder
str
= new StringBuilder( "WelcomeGeeks" );
System.out.println( "String = "
+ str.toString());
int returnvalue = str.offsetByCodePoints( 1 , 4 );
System.out.println( "Index = " + returnvalue);
}
}
|
Output:
String = WelcomeGeeks
Index = 5
Example 2:
class GFG {
public static void main(String[] args)
{
StringBuilder
str
= new StringBuilder( "India Is great" );
System.out.println( "String = " + str.toString());
int returnvalue = str.offsetByCodePoints( 2 , 9 );
System.out.println( "Index = " + returnvalue);
}
}
|
Output:
String = India Is great
Index = 11
Example 3: To demonstrate IndexOutOfBoundException
class GFG {
public static void main(String[] args)
{
StringBuilder
str
= new StringBuilder( "India" );
try {
int returnvalue = str.offsetByCodePoints( 2 , 9 );
System.out.println( "Index = " + returnvalue);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception: " + e);
}
}
}
|
Output:
Exception: java.lang.IndexOutOfBoundsException
Reference:
https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuilder.html#offsetByCodePoints(int, int)