admin 管理员组

文章数量: 893558

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

希望能帮到你,类似这些小功能我的建议是自己写一个出来。

本文标签: python之中文符号转英文符号