Loading...

Different ways to compare strings in Swift

question swift
Ram Patra Published on November 17, 2023

Comparing two strings in Swift is straightforward and can be done using the equality operator ==. This operator checks if two strings are exactly the same in terms of their characters and the order in which these characters appear.

Here’s an example:

let string1 = "Hello"
let string2 = "World"
let string3 = "Hello"

let areStringsEqual1 = string1 == string2  // This will be false
let areStringsEqual2 = string1 == string3  // This will be true

In this example:

  • areStringsEqual1 evaluates to false because "Hello" and "World" are different strings.
  • areStringsEqual2 evaluates to true because both string1 and string3 are "Hello".

Case-Insensitive Comparison

If you want to compare strings in a case-insensitive manner (where “hello” is considered equal to “Hello”), you can use the lowercased() or uppercased() method on both strings before comparing:

let areStringsEqualCaseInsensitive = string1.lowercased() == string2.lowercased()

Locale-Sensitive Comparison

For locale-sensitive comparisons, where the comparison takes the user’s language and region settings into account (important in some languages), use localizedStandardCompare:

let comparisonResult = string1.localizedStandardCompare(string2) == .orderedSame

This method compares strings according to the rules of the current locale, which is typically the user’s locale.

Conclusion

String comparison in Swift is versatile and can be adapted to different needs, whether you require a simple equality check or a more complex, locale-aware comparison.

Take your presentation to the next level.

Put your face and name on your screen.

Your to-dos on your menu bar.

Fill forms using your right-click menu.

Ram Patra Published on November 17, 2023
Image placeholder

Keep reading

If this article was helpful, others might be too

June 7, 2020 How to add Global Key Shortcuts to your macOS app using MASShortcut

Adding Global Keyboard Shortcuts to your macOS app can be a pain as there isn’t a Cocoa API for the same. You would have to rely on the old, most of which are deprecated, Carbon API.

question macOS swift March 14, 2021 How to detect Escape key pressed in macOS apps?

Like Delete key, detection of Escape key press is also slightly different than detecting general key presses.

question swift October 22, 2023 How to not break automatically in switch statements in Swift?

In Swift, the switch statement doesn’t automatically fall through to the next case. Each case block is designed to execute only the code within that case, and it doesn’t continue to the next case unless you use the fallthrough keyword.

Like my work?

Please, feel free to reach out. I would be more than happy to chat.