BBjString::regionMatches

Description

In BBj 7.0 and higher, this method tests if two string regions are equal.

A substring of this String object is compared to a substring of the argument other. The result is true if these substrings represent identical character sequences. The substring of this String object to be compared begins at index toffset and has length len. The substring of other to be compared begins at index ooffset and has length len. The result is false if and only if at least one of the following is true:

  • toffset is negative.
  • ooffset is negative.
  • toffset+len is greater than the length of this String object.
  • ooffset+len is greater than the length of the other argument.
  • ignoreCase is false and there is some nonnegative integer k less than len such that:
    this.charAt(toffset+k) != other.charAt(ooffset+k)
  • ignoreCase is true and there is some nonnegative integer k less than len such that:
    Character.toLowerCase(this.charAt(toffset+k)) != Character.toLowerCase(other.charAt(ooffset+k))
    and:
    Character.toUpperCase(this.charAt(toffset+k)) != Character.toUpperCase(other.charAt(ooffset+k))

Syntax

Return Value

Method

boolean

regionMatches(boolean ignoreCase, int toffset, string other, int ooffset, int len)

boolean

regionMatches(int toffset, string other, int ooffset, int len)

Parameters

Variable

Description

ignoreCase

If true, ignore case when comparing characters.

toffset

The starting offset of the subregion in this string.

other

The string argument.

ooffset

The starting offset of the subregion in the string argument.

len

The number of characters to compare.

Return Value

Returns true if the specified subregion of this string matches the specified subregion of the string argument; false otherwise. Whether the matching is exact or case insensitive depends on the ignoreCase argument.

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.