由于用户错误,我有一串数字可能包含一个以上的小数点。像这样的东西:
"2.3333.555.6664438"
我希望能够删除字符串中除一个小数点以外的所有小数点(最好是第一个或最后一个):
"2.33335556664438"
或
"23333555.6664438"
实现此目标的最佳方法是什么?
最佳答案
以句号分隔成组,并连接起来 除了第一组。示例( swift 3):
var string = "2.3333.555.6664438"
let groups = string.components(separatedBy: ".")
if groups.count > 1 {
string = groups[0] + "." + groups.dropFirst().joined()
}
print(string) // 2.33335556664438
或者:找到第一个句点字符并删除所有后续字符 发生次数:
var string = "2.3333.555.6664438"
if let r = string.range(of: ".") {
string = string.substring(to: r.upperBound)
+ string.substring(from: r.upperBound).replacingOccurrences(of: ".", with: "")
}
print(string) // 2.33335556664438
(但请注意,小数点分隔符取决于语言环境,不一定是句点字符。例如,它在德国是逗号。)
关于ios - 替换字符串中除出现一次以外的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40248367/