Comparing Strings

Several functions, summarized in Table 17-1, are available for comparing and matching strings.

Table 17-1. Functions that compare strings

Name

Description

compare

Compares two strings, optionally based on a collation

starts-with

Determines whether a string starts with another string

ends-with

Determines whether a string ends with another string

contains

Determines whether a string contains another string

matches

Determines whether a string matches a regular expression

Comparing Entire Strings

Strings can be compared using the comparison operators: =, !=, >, <, >=, and <=. For example, "abc" < "def" evaluates to true.

The comparison operators use the default collation, as described in "Collations," later in this chapter. You can also use the compare function, which fulfills the same role as the comparison operators but allows you to explicitly specify a collation. The compare function accepts two string arguments and returns one of the values −1, 0, or 1 depending on which argument is greater.

Determining Whether a String Contains Another String

Three functions test whether a string contains the characters of another string. They are the contains, starts-with, and ends-with functions. Each of them returns a Boolean value and takes two strings as arguments: the first is the containing string being tested, and the second is the contained string. Table 17-2 shows some examples of these functions.

Table 17-2. Examples of contains, starts-with, and ends-with

Example

Return value

contains("query", "ery")

true

contains("query", "query")

true

contains("query", "x")

false

starts-with("query", "que")

true

starts-with("query", "u")

false

ends-with("query", "y")

true

ends-with("query ", "y")

false

Matching a String to a Pattern

The matches function determines whether a string matches a pattern. It accepts two string arguments: the string being tested and the pattern itself. The pattern is a regular expression, whose syntax is covered in Chapter 18. There is also an optional third argument, which can be used to set additional options in the interpretation of the regular expression, such as multi-line processing and case sensitivity. These options are described in detail in the section "Using Flags" in Chapter 18.

Table 17-3 shows examples of the matches function.

Table 17-3. Examples of the matches function

Example

Return value

matches("query", "q")

true

matches("query", "qu")

true

matches("query", "xyz")

false

matches("query", "q.*")

true

matches("query", "[a–z]{5}")

true

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.47.208