我对 swift 很陌生,我正在尝试编写一个简单的正则表达式应用程序,该应用程序接受用户输入文件路径并将几个正则表达式替换应用于文本文件。
import Foundation
let shotFilePath = readLine()
// Use contentsOfFile overload.
// ... Specify utf8 encoding.
// ... Ignore errors.
let babySteps = try NSString(contentsOfFile: shotFilePath!,
encoding: String.Encoding.utf8.rawValue)
let firetruck = #"Ay Ay Sir!"#
var firetruckYou = babySteps.replacingOccurrences(of: firetruck, with: "", options: .regularExpression)
问题出在最后一行代码上。使用硬编码的字符串,一切正常,但是当我允许用户输入它时,我收到以下错误:
- 调用中缺少参数“范围”的参数
如果我将 babySteps 字符串硬编码为常量,没问题,但如果我从文件中导入它,事情就会变糟。
是什么导致 Swift 在这两种情况下表现不同?提前谢谢了!