我想删除最后一个整数值迅速

时间:2018-08-16 15:00:35

标签: swift string int

我只想从任何字符串中删除整数值。有可能吗?

let string = "kjgd5676idbh123456" 

我想得到这个字符串= kjgd5676idbh

我只想删除最后一个整数值。如何删除最后一个整数值?

2 个答案:

答案 0 :(得分:2)

如果您想删除整个值123456,则可以使用正则表达式\\d+来匹配1位或更多位的任何数字,并使用美元符号$将其锚定到字符串的末尾< / p>

let str = "kjgd5676idbh123456"
if let index = str.range(of: "\\d+$", options: .regularExpression)?.lowerBound {
    print("Last Number:", str[index...])  // 123456
    print("Prefix:", str[..<index])       // kjgd5676idbh
}

如果需要删除一个数字后缀,则只需删除正则表达式的加号。 "\\d$"

答案 1 :(得分:0)

向后搜索第一个非数字字符并删除尾随数字

let string = "kjgd5676idbh123456"
let result : String
if let range = string.rangeOfCharacter(from: CharacterSet.decimalDigits.inverted, options: .backwards) {
    result = String(string[..<range.upperBound])
} else {
    result = Int(string) == nil ? string : ""
}