python之中文符号转英文符号
方法一:
maketrans方法, 它使用的是一种映射关系来将(中文字符)转换为(英文字符),前提需要维护映射关系数据,也就是你维护了(中文符号),你也得维护其对应的(英文符号),且两边的数量得保持一致, 否则会报错
优点:可以一次性转换多个符号或字符,拓展性强 。缺点是代码长了点
(中文符号)转(英文符号)
# 定义中文符号 chinese_character = r',。!?;:()《》【】“”\‘\’、中文' # 定义对应的英文符号 english_character = r',.!?;:()<>[]""\'\' 英文' # 创建转换表 table = str.maketrans(chinese_character, english_character) # 要转换的中文句子 str = '(中文符号)转(英文符号)中文' # 进行转换 English_Symbols = str.translate(table) # 输出结果 print(English_Symbols)
执行结果>>>
(英文符号)转(英文符号)英文
(英文符号)转(中文符号):直接将 str.maketrans 里面的参数对调一下即可
# 创建转换表 table = str.maketrans(english_character,chinese_character)
方法二:
replace方法:
如果你只想转换一个字符, 这个方法会比较简单,这个方法的作用是字符串替换功能, 将关键字替换成你想要的字符
优点:代码简洁,一目了然。缺点是功能小了点
# 比较简单,注释我就不写了 a = '123,456' print(a.replace(',', ':'))
执行结果>>>
123:456
或者你可以使用我编写的 replace 升级版,可以拿来直接使用,它的强大之处是可以同时处理多个(字符串主体),并且一个(字符串主体)可以同时处理多个关键字替换,拿来可以直接使用。
格式为:key_replace(原始字符,{'关键字':'新数据'})
批量格式为:key_replace(原始字符1,原始字符2,{'关键字1':'新数据1','关键字2':'新数据2'},{'关键字':'新数据'})
import ast # 关键字替换字符串: def key_replace(*args): """ 传入格式说明:key_replace(原始字符串,{'关键字':'新数据'}) 可变传参说明:key_replace(原始字符串1,原始字符串2,{'关键字1':'新数据1','关键字2':'新数据2'},{'关键字':'新数据'}) PS: 一个(原始字符串)对应一个字典,一个字典可以传入多个关键字替换 :return: """ str_main = [] # 用于存储传入的字符串主体 rep_info = [] # 用于存储传入替换关键字信息 for key_info in args: # 遍历传入的参数 if isinstance(key_info, dict): # 如果是字典格式,则代表是(替换关键字信息) rep_info.append(key_info) else: # 如果是字符串或其它,则将其添加到字符串列表中 str_main.append(key_info) case_list = [] # 用于存储替换后的结果 # 遍历传入的字符串和字典,分别进行替换操作 for case_data, key_dict in zip(str_main, rep_info): for key_, value in key_dict.items(): # 遍历字典中的所有键值对 case_data = str(case_data).replace(key_, str(value)) # 替换指定的关键词 try: ast.literal_eval(case_data) # 尝试将替换后的字符串解析为对应数据类型 except SyntaxError: # 如果解析失败,则将字符串加入到case_list中 case_list.append(case_data) else: # 如果解析成功,则将解析后的结果加入到case_list中 case_list.append(ast.literal_eval(case_data)) if len(case_list) == 1: # 如果case_list中元素个数为1,则返回该元素(而不是一个列表) return case_list[0] return case_list # 否则,整体返回case_list
希望能帮到你,类似这些小功能我的建议是自己写一个出来。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?