如何在字符串中查找整数并在 Swift 中的整数之前插入一个字符



我正在尝试制作一个费用计算器,用户只需以这种格式输入他们的费用"添加娱乐电影 15",输出将打印为"娱乐电影 $15.0"。 由于该用户可以输入任何文本,因此我想进行此动态,在这种情况下,一旦找到像 15 这样的数字,$ 符号就会放在它前面。

只是想知道在 Swift 中执行此操作的正确方法是什么?

使用正则表达式的简单解决方案。它用$符号加上找到的部分字符串($0)替换一个或多个数字(\d+),后跟一个可选的点和可选的小数位(\.\d+)?)。

let string = "add Entertainment Movies 15"
let result = string.replacingOccurrences(of: "\d+(\.\d+)?", with: "$$0", options: .regularExpression)

你可以这样做:

func textDidChange(textField: UITextField){
guard let text = textField.text else{return}
if let numbersRange = text.rangeOfCharacter(from: .decimalDigits){
text.insert("$", at: numbersRange.lowerBound)
}
print(text)
}

最新更新