How to get the last word from a string in Swift

2 Answers

0 votes
import Foundation

let s = "Swift approachable for newcomers and powerful for experts"

let words = s.split(separator: " ")

let lastWord = words.last

print(lastWord ?? "")  




/*
run:

experts

*/

 



answered Jan 4, 2025 by avibootz
0 votes
import Foundation

func getLastWord(_ input: String) -> String {
    // Trim leading/trailing whitespace
    let trimmed = input.trimmingCharacters(in: .whitespacesAndNewlines)

    // If empty after trimming, return empty string
    guard !trimmed.isEmpty else { return "" }

    // Split on whitespace and return the last element
    return trimmed
        .split(whereSeparator: { $0.isWhitespace })
        .last
        .map(String.init) ?? ""
}

let tests = [
    "vb.net javascript php c c++ python swift",
    "",
    "c#",
    "c c++ java ",
    "  "
]

for (i, t) in tests.enumerated() {
    print("\(i + 1). \(getLastWord(t))")
}


/*
run:

1. swift
2. 
3. c#
4. java
5. 

*/

 



answered Mar 27 by avibootz
...