怎么优雅的提取字符串中的汉语金钱信息?
有一个需要提取一个字符串中的汉语金钱信息, 类似于下面:
- 午饭10块5 => ¥10.5
- 请客消费107块4毛5 => ¥107.45
- 包子二块5 => ¥2.5
请问怎么优雅的提取出来?
回答:
问题比较复杂,可能得写parser
回答:
这种情况比较复杂,如果实际情况可以简化或可以要求这些文字规范化,建议直接用多个正则表达式匹配,重点在于实际情况的简化和规范化。如果无法简化,可以试试分词后处理,例如使用结巴分词,然后再逐词处理。再复杂点,可能就要使用正经的自然语言处理模型了,这个我就不会了:P
回答:
/([零一二三四五六七八九十百千万]+块)?([零一二三四五六七八九十百千万]+毛)?([零一二三四五六七八九十百千万]+分)?/
获取之后用方法转换 中文数值 到 数字数值(这个找一下应该有现成的)
如果转换失败,表明 中文数值写法错误 或 不是金额
以上是 怎么优雅的提取字符串中的汉语金钱信息? 的全部内容, 来源链接: utcz.com/p/168470.html