gpt4 book ai didi

ios - 如何使用当前语言环境查找 NSString 中的数字范围?

转载 作者:行者123 更新时间:2023-11-29 10:26:36 25 4
gpt4 key购买 nike

我有一个像“abcd 12.3 efgh 45,6 ijlk”这样的 NSString。我想使用当前语言环境查找字符串中数字的范围;所以如果它是 EN 那么我将得到“12.3”、“45”和“6”的范围;但如果是 FR,我会得到“12”、“3”和“45,6”。

最佳答案

使用 NSScanner(Swift 版本,在 Playground 中一起破解):

var str : NSString = "abcd 12.3 efgh 45,6 ijlk"
let scanner = NSScanner(string: str as String)
scanner.locale = NSLocale(localeIdentifier: "fr_FR")
scanner.charactersToBeSkipped = nil

let characterSet = NSCharacterSet(charactersInString: "-0123456789");
let result = NSMutableArray()

while (!scanner.atEnd) {
var decimal = NSDecimal()

if scanner.scanDecimal(&decimal) {
result.addObject(NSDecimalNumber(decimal: decimal))
} else {
if !scanner.scanUpToCharactersFromSet(characterSet, intoString: nil) {
break
}
}
}

result // [12, 3, 45.6]

重要的一点是使用scanner.locale 设置语言环境。如果将语言环境设置为 en_US,则会得到 [12.3, 45, 6]

关于ios - 如何使用当前语言环境查找 NSString 中的数字范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31873771/

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