2016-11-19 3 views
0

Я пытаюсь использовать для замены подстроки с помощью NSRegularExpression, но я получаю эту ошибку:Swift: Не удается преобразовать строку типа значения ожидаемого типа аргумента NSMutableString

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

Посмотрите на документацию для 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") 
Смежные вопросы