gpt4 book ai didi

ios - Swift:哪个相当于 sscanf()?

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:56 24 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我将团队名称保存为

very_complex name (number playes)

为了获得团队的全名,我需要根据此格式读取/拆分该字符串

%s (%s)

就像我们习惯在 C 中使用 ``sscanf()` 一样。我们如何在 Swift 中做到这一点?

最佳答案

不幸的是,没有 sscanf() 的就地替代品,但实现它的方法是使用类 Scanner(Apple documentationraywenderlich.com)。

针对您的情况:

let str = "My Team Name (2 players)" // %s (%d %s)
let scanner = Scanner(string: str)
var firstStrVal: NSString?
var dummyStrVal: NSString?
var intVal: Int = 0
var secondStrVal: NSString?

scanner.scanUpTo(" (", into: &firstStrVal)
scanner.scanCharacters(from: CharacterSet.init(charactersIn: "("), into: &dummyStrVal)
scanner.scanInt(&intVal)
scanner.scanUpTo(")", into: &secondStrVal)

print(str)
print(firstStrVal!)
print(intVal)
print(secondStrVal!)
print("\(firstStrVal!) (\(intVal) \(secondStrVal!))")

结果:

My Team Name (2 players)
My Team Name
2
players
My Team Name (2 players)

关于ios - Swift:哪个相当于 sscanf()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35574229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com