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