菜市小桃子 2023-03-16 17:56 采纳率: 33.3%
浏览 39
已结题

中文数字转数字 python

替换中文数字

从键盘输入一串含有中文数字和阿拉伯数字的字符串,如:12一二你好九零。请将字符串中的中文数字替换为阿拉伯数字,其他字符保持不变。

提示说明:1. 输入字符串长度没有规定,可以任意长度的字符串;2. 输入字符串内容视为必须含有中文数字和阿拉伯数字。

输入输出示例:

img

  • 写回答

4条回答 默认 最新

  • 追cium 2023-03-16 18:41
    关注

    参考GPT和自己的思路:

    非常感谢您的咨询,对于这个问题,可以通过Python中的正则表达式来实现中文数字和阿拉伯数字的替换。

    具体的代码如下:

    import re
    
    def chinese_to_arabic(s):
        ch_dict = {'零': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9}
        pattern = re.compile('[零一二三四五六七八九]')
        result = ""
        for char in s:
            if pattern.match(char):
                result += str(ch_dict[char])
            else:
                result += char
        return result
    
    s = input("请输入包含中文和阿拉伯数字的字符串:")
    result = chinese_to_arabic(s)
    print(result)
    

    这里定义了一个chinese_to_arabic函数来实现中文数字和阿拉伯数字的替换,首先定义了一个包含中文数字和阿拉伯数字对应关系的字典,然后使用正则表达式匹配中文数字,将匹配到的中文数字替换为对应的阿拉伯数字,并将结果转换为字符串输出。

    通过这段代码,您可以实现中文数字和阿拉伯数字的替换。希望我的回答能够帮助到您,如果您还有其他相关问题,可以随时向我提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月18日
  • 已采纳回答 3月17日
  • 创建了问题 3月16日