NSFormatter のspellout
メソッドを使用すると、単語を数値に変換できます。NSString をstringByReplacingOccurrencesOfString
使用すると、1000 などの文字列を 1000 に変換できますNSCharacterSet
。ただし、たとえば、数値と文字列の混合物を数値に変換する方法に苦労していabout 2.4 million
ますcomes to 5 hundred
。問題は、「約」または他のテキストから「240 万」を分離することです。
「240 万」にスペルアウトを適用すると 2400000 になります。ただし、「約 240 万」に適用するとエラーが発生します。
extension NSString {
public var asNum: NSNumber {
// let stringValue = String(value: self)
let stringValue = self
let formatter = NumberFormatter()
formatter.isLenient = true
formatter.numberStyle = .spellOut
return formatter.number(from: stringValue as String) ?? -1
}
}
有効な数値の一部である用語だけを分離するにはどうすればよいですか?