Swift:无法将值类型字符串转换为期望的参数类型nsmutablestring

时间:2016-11-19 03:25:00

标签: regex swift nsstring nsregularexpression

我正在尝试使用NSRegularExpression替换子字符串,但我收到此错误:

Cannot convert value type string to expected argument type nsmutablestring

这是我的代码:

let myString = "my car reg 1 - DD11 AAA  my car reg 2 - AA22 BB AA"
let regex = try! NSRegularExpression(pattern: "([A-HK-PRSVWY][A-HJ-PR-Y])\\s?([0][2-9]|[1-9][0-9])\\s?[A-HJ-PR-Z]{3}",
                                     options: NSRegularExpressionOptions.CaseInsensitive)

let range = NSMakeRange(0, house.characters.count)
var result:String = regex.replaceMatchesInString(myString, //<--here is I'm getting error
                                                 options: [],
                                                 range: range,
                                                 withTemplate: "***")

你们中的任何人都知道我为什么会收到这个错误?或者如何解决它?

我真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

查看NSRegularExpression replaceMatchesInString:options:range:withTemplate:的文档。第一个参数必须是NSMutableString,而不是String

您可以更改let myString的第一行以创建NSMutableString

let myString = NSMutableString(string: "my car reg 1 - DD11 AAA  my car reg 2 - AA22 BB AA")