Instance Method

hasSuffix(_:)

Returns a Boolean value indicating whether the string ends with the specified suffix.

Declaration

func hasSuffix(_ suffix: String) -> Bool

Parameters

suffix

A possible suffix to test against this string.

Return Value

true if the string ends with suffix; otherwise, false.

Discussion

The comparison is both case sensitive and Unicode safe. The case-sensitive comparison will only match strings whose corresponding characters have the same case.

let plans = "Let's meet at the café"

// Case sensitive
print(plans.hasSuffix("Café"))
// Prints "false"

The Unicode-safe comparison matches Unicode scalar values rather than the code points used to compose them. The example below uses two strings with different forms of the "é" character—the first uses the composed form and the second uses the decomposed form.

// Unicode safe
let composedCafe = "café"
let decomposedCafe = "cafe\u{0301}"

print(plans.hasSuffix(composedCafe))
// Prints "true"
print(plans.hasSuffix(decomposedCafe))
// Prints "true"

Relationships

From Protocol

See Also

Finding Substrings

func hasPrefix(String) -> Bool

Returns a Boolean value indicating whether the string begins with the specified prefix.