我正在用 Swift 解决一个编程问题,我在网上找到了一个我不完全理解的解决方案,问题是:编写一个函数来反转输入字符串中(可能嵌套的)括号中的字符。解决方案是
var inputString = "foo(bar)baz(ga)kjh"
var s = inputString
while let openIdx = s.lastIndex(of: "(") {
let closeIdx = s[openIdx...].firstIndex(of:")")!
s.replaceSubrange(openIdx...closeIdx, with: s[s.index(after: openIdx)..<closeIdx].reversed())
}
print (s) // output: foorabbazagkjh (the letters inside the braces are reversed)
我想详细了解:lastIndex(of:
在这种情况下是做什么let closeIdx = s[openIdx...].firstIndex(of:")")!
的,以及做什么