BBjString::lastIndexOf

Description

In BBj 7.0 and higher, this method returns the index within this string of the last occurrence of the specified character. For values of ch in the range from 0 to 0xFFFF (inclusive), the index (in Unicode code units) returned is the largest value k such that: this.charAt(k) == ch is true. For other values of ch, it is the largest value k such that: this.codePointAt(k) == ch is true. In either case, if no such character occurs in this string, then -1 is returned. The String is searched backwards starting at the last character.

Syntax

Return Value

Method

int

lastIndexOf(int ch)

int

lastIndexOf(int ch, int fromIndex)

int

lastIndexOf(string str)

int

lastIndexOf(string str, int fromIndex)

Parameters

Variable

Description

ch

A character (Unicode code point).

fromIndex

The index to start the search from. There is no restriction on the value of fromIndex. If it is greater than or equal to the length of this string, it has the same effect as if it were equal to one less than the length of this string: this entire string may be searched. If it is negative, it has the same effect as if it were -1: -1 is returned.

str

The substring to search for.

Return Value

Returns the index of the last occurrence of the character in the character sequence represented by this string, or -1 if the character does not occur.

Remarks

None.

Example

rem ' BBjString
print "BBjString sample code"

x! = "The quick brown fox jumps over the lazy dog"

print "x! = """,x!,""""
print "x!.charAt(0)=",x!.charAt(0); rem 'T'
print "x!.codePointAt(0)=",x!.codePointAt(0); rem 84
print "x!.codePointBefore(1)=",x!.codePointBefore(1); rem 84

l = x!.length()
print "x!.codePointCount(0,x!.length())=",x!.codePointCount(0,l); rem 43
print "x!.compareTo(""The"")=",x!.compareTo("The"); rem 40
print "x!.compareToIgnoreCase(""THE"")=",x!.compareToIgnoreCase("THE"); rem 40
print "x!.concat(""."")=",x!.concat(".")
print "x!.contains(""quick"")=",x!.contains("quick"); rem true
print "x!.contains(""slow"")=",x!.contains("slow"); rem false

sb! = new StringBuffer(x!)
print "StringBuffer sb! = """,sb!,""""
print "x!.contentEquals(sb!)=",x!.contentEquals(sb!); rem true
print "x!.endsWith(""dog"")=",x!.endsWith("dog"); rem true
print "x!.endsWith(""cat"")=",x!.endsWith("cat"); rem false
print "x!.equals(sb!)=",x!.equals(sb!); rem false
print "x!.equals(sb!.toString())=",x!.equals(sb!.toString()); rem true

y! = x!.toUpperCase()
print "y! = """,y!,""""
print "x!.equals(y!)=",x!.equals(y!); rem false
print "x!.equalsIgnoreCase(y!)=",x!.equalsIgnoreCase(y!); rem true
print "x!.getBytes()=",x!.getBytes()," {",x!.getBytes().getClass(),"}"
c! = java.lang.reflect.Array.newInstance(Character.TYPE,x!.length())
x!.getChars(0,x!.length(),c!,0)
print "x!.getChars()=",java.util.Arrays.toString(c!)
print "x!.hashCode()=",x!.hashCode()
print "x!.indexOf(""q"")=",x!.indexOf("q"); rem 4
print "x!.intern()=",x!.intern()
print "x!.isEmpty()=",x!.isEmpty()
print "x!.lastIndexOf(""the"")=",x!.lastIndexOf("the"); rem 31
print "x!.length()=",x!.length(); rem 43
print "x!.matches(""^The.*"")=",x!.matches("^The.*"); rem true
print "x!.offsetByCodePoints(0,1)=",x!.offsetByCodePoints(0,1); rem 1
print "x!.regionMatches(1,x!,32,2)=",x!.regionMatches(1,x!,32,2); rem true
print "x!.replace(""dog"",""cat"")=",x!.replace("dog","cat")
print "x!.replaceAll("" "",""_"")=",x!.replaceAll(" ","_")
print "x!.replaceFirst("" "",""_"")=",x!.replaceFirst(" ","_")
print "x!.split("" "")=",java.util.Arrays.toString(x!.split(" "))
print "x!.startsWith(""The"")=",x!.startsWith("The"); rem true
print "x!.substring(4,9)=""",x!.substring(4,9),""""; rem quick
print "x!.subSequence(4,9)=""",x!.subSequence(4,9),""""; rem quick
print "x!.toCharArray()=",java.util.Arrays.toString(x!.toCharArray())
print "x!.toLowerCase()=",x!.toLowerCase()
print "x!.toUpperCase()=",x!.toUpperCase()
print "x!.trim()=""",x!.trim(),""""

See Also

BBjAPI

BBjString

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.