Scala解析货币金额并删除货币符号

时间:2016-07-30 09:44:56

标签: regex scala

我要将货币字符串转换为Double值:

val num = "181.13 kr"
val parsed = num.replaceAll("\\p{Sc}|,", "")

parsed = 181.13 kr

此示例不起作用,但在这种情况下,这样可以正常工作:

val num = "€11.22"
val parsed = num.replaceAll("\\p{Sc}|,", "")

parsed = 11.22

1 个答案:

答案 0 :(得分:1)

尽管存在这样的问题,是否使用DoubleFloat代表货币:\p{Sc}并不匹配kr,因为它不是货币符号。添加\p{L}以匹配任何字母("€"可能是" EUR"在某些情况下)。

val parsed = num.replaceAll("\\p{Sc}|\\p{L}|,", "")