【问题标题】:Swift: Getting currency symbol from an amount textSwift:从金额文本中获取货币符号
【发布时间】:2019-11-04 02:12:06
【问题描述】:
如何从包含金额和符号的字符串中提取货币符号。这些字符串可以是任何国际格式,因为我从NumberFormatter 获得它们。此类字符串的一些示例及其结果如下:-
$446.99 =-> $
445,34 45 美元 => 美元
445,34 45 美元 => 美元
567 泰铢 => 泰铢
567 泰铢 => 泰铢
还有更多。
我已经知道NumberFormatter 属性currencySymbol、internationalCurrencySymbol 但它们无助于获得通用解决方案,因为如果是美元,它们分别返回您美元和美元。如果那里有任何regex,那么我也很乐意尝试。
PS:我需要这些信息来根据以下图片格式化我的货币符号:-
【问题讨论】:
标签:
ios
swift
cocoa-touch
nsnumberformatter
【解决方案1】:
你可以这样做:
let currency = str.trimmingCharacters(in: CharacterSet(charactersIn: "0123456789., "))
【解决方案2】:
这是filter out 提及String 中的字符的方法之一:
let filteredString = String("567 THB".filter { String($0).rangeOfCharacter(from: CharacterSet(charactersIn: "0123456789.,")) == nil }).trimmingCharacters(in: .whitespacesAndNewlines)
//TBH <- prints