【发布时间】:2019-09-20 10:23:21
【问题描述】:
我正在用 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:")")! 的作用
【问题讨论】:
-
与您的问题无关,但如果发现左括号不平衡,则会崩溃。不要强行打开它
let closeIdx = s[openIdx...].firstIndex(of:")")!
标签: swift xcode lastindexof