我的代码如下所示:
let fileName = "/users/lezi/downloads/Zootopia.srt"
var srtFile = try? String(contentsOfFile: fileName)
let range = srtFile?.range(of: "00:00:59,825")
print(srtFile?[range!])
srtFile?.replaceSubrange(range!, with: "00:00:59,826")
print(srtFile?[range!])
我希望将"00:00:59,825"替换为"00:00:59,826",但打印出来的是"Optional("\r\n\r\n2")\n",在"00:00:59,825"之前有一些字符。
print
语句中也会得到一些垃圾输出。不过使用replacingoccurenzces(of:with)
似乎可以解决这个问题,所以看起来应该将其视为重复问题并关闭。 - Joakim Danielsonrange(of:)
和replaceSubrange()
也应该可以工作(并且与replacingOccurrences(of:with:)
不等效)。我认为更有帮助的是弄清楚为什么上述代码不能按预期工作(而不是将其关闭为关于不同方法的重复问题)。 - Martin R