In Swift, can you split a string by another string, not just a character?

Mark A. Donohoe picture Mark A. Donohoe · Mar 25, 2018 · Viewed 11.9k times · Source

In Swift, it's easy to split a string on a character and return the result in an array. What I'm wondering is if you can split a string by another string instead of just a single character, like so...

let inputString = "This123Is123A123Test"
let splits = inputString.split(onString:"123")
// splits == ["This", "Is", "A", "Test"]

I think NSString may have a way to do as much, and of course I could roll my own in a String extension, but I'm looking to see if Swift has something natively.

Answer

Gi0R picture Gi0R · Mar 25, 2018
import Foundation

let inputString = "This123Is123A123Test"
let splits = inputString.components(separatedBy: "123")