You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用if运算符与大量多行结构实现货币符号转对应单词?

问题需求

将包含货币符号的字符串转换为对应货币单词形式,输入输出示例如下:

输入:

around $98 million last week
above $10 million next month
about €5 billion past year
after £1 billion this day

输出:

around 98 million dollars last week
above 10 million dollars next month
about 5 billion euros past year
after 1 billion pounds this day

要求:不使用if运算符及大量多行结构实现该功能。

实现方案

可以利用字典映射结合正则表达式替换来实现,核心思路是用字典存储货币符号到对应单词的映射,通过正则匹配符号+数字的模式,替换时移除符号并追加对应的货币单词。

以Python为例,代码如下:

import re

currency_map = {'$': 'dollars', '€': 'euros', '£': 'pounds'}
texts = [
    'around $98 million last week',
    'above $10 million next month',
    'about €5 billion past year',
    'after £1 billion this day'
]

result = [re.sub(r'([$€£])(\d+)', lambda m: f'{m.group(2)} {currency_map[m.group(1)]}', text) for text in texts]
for line in result:
    print(line)

代码说明

  • currency_map 直接建立符号与单词的映射关系,无需if判断
  • 正则表达式 r'([$€£])(\d+)' 匹配货币符号后跟数字的组合,捕获符号和数字两个分组
  • 使用lambda匿名函数作为re.sub的替换回调,直接通过字典获取对应货币单词完成替换
  • 列表推导式批量处理所有输入文本,代码简洁紧凑,无大量多行结构

内容的提问来源于stack exchange,提问作者bashism

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:24:45