How to get the first number from a string in Swift

1 Answer

0 votes
import Foundation

func getFirstNumbers(_ s: String) -> Int {
    let pattern = "\\d+"
    let regex = try! NSRegularExpression(pattern: pattern)
    let nsString = s as NSString
    let results = regex.matches(in: s, range: NSRange(location: 0, length: nsString.length))
        
    if let match = results.first {
        let numberString = nsString.substring(with: match.range)
        return Int(numberString) ?? -1
    }
        
    return -1
}
    
let str = "ZQ14876Fu2357-X18Y"

print(getFirstNumbers(str))



/*
run:
   
14876

*/

 



answered Oct 22, 2024 by avibootz

Related questions

1 answer 133 views
1 answer 116 views
1 answer 114 views
1 answer 281 views
1 answer 200 views
...