我有一个我想操纵的基本数组。似乎在我的if语句的括号内我可以成功地操作数组(屏幕的右侧显示值已经改变);但是,一旦我离开if语句,更改似乎就消失了(屏幕的右侧显示原始值,而不是更改的值)。谢谢你的帮助!
var originalInfo = """
This
Is
A
Test
String
"""
// split string
var SplitInfo = originalInfo.split(separator: "\n")
// Manipulate Array
if SplitInfo[1].hasPrefix("I") == true {
SplitInfo[1].replacingOccurrences(of: "s", with: "s not")
}
SplitInfo[1]
答案 0 :(得分:0)
方法replaceOccurences(of:with:)
返回带有新值的String,因此您需要将新值分配给变量
SplitInfo[1] = SplitInfo[1].replacingOccurrences(of: "s", with: "s not")
只有这样你才能看到变化。如果您单击该方法并查看Xcode右侧窗格中的“快速帮助”部分,您将看到
Range<String.Index>? = default) -> String
-> String
表示它返回一个字符串,因此您需要将其分配给某些内容。
如果您尝试维护String
,请将此字符串划分为
var SplitInfo = originalInfo.components(separatedBy: "\n")
这将返回[String]
而不是子串。
希望这有帮助。