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.

Presentify

Take your presentation to the next level.

FaceScreen

Put your face and name on your screen.

KeyScreen

Show keypresses on your screen.

ToDoBar

Your to-dos on your menu bar.

SimpleFill

Fill forms using your right-click menu.

IconSim

Preview your Mac app icons.

Ram Patra Published on November 17, 2023
Image placeholder

Keep reading

If this article was helpful, others might be too

question swiftui swift September 13, 2024 How to add a character limit to a TextField in SwiftUI?

To add a character length limit to a TextField in SwiftUI, you can use a combination of Swift’s .onChange, .onPasteCommand modifier, and string manipulation to limit the number of characters the user can enter.

question macOS swift August 14, 2020 How to detect Delete key press in Swift?

Delete key press detection is slightly different than other keys. It uses NSDeleteCharacter like below:

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.

Like my work?

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