字符串的这个东西-翻译表

栏目: Python · 发布时间: 6年前

内容简介:不知道大家是否见过这个东西,反正我清楚记得我是见过的,可是为什么会写这个东西?有以下一个场景:怎样将一个字符串中的中文字符统一转换成英文字符?不知道大家会怎样去做?先列举一个例子:

不知道大家是否见过这个东西,反正我清楚记得我是见过的,可是为什么会写这个东西?有以下一个场景:

怎样将一个字符串中的中文字符统一转换成英文字符?

不知道大家会怎样去做?先列举一个例子:

'hello i'm jim'将其中的 'e' 转换成 'i' , 'o' 转换成 '!'

我的做法是:

s = 'hello i\'m jim'
ch = 'eo'
en_ch = 'i!'

for i, c in enumrate(s):
    if c in ch:
        s = s.replace(c, en_ch[ch.index(c)])

简直就是so easy! , 可是... 这两个字太可怕了,后端老大直接开喷,写的啥玩意.难道还有什么好方法?只能悄咪咪的看人家写喽

s = 'hello i\'m jim'
ch = 'eo'
en_ch = 'i!'
TRANS_TABLE = {ord(f): ord(t) for f, t in zip(ch, en_ch)}

s.translate(TRANS_TABLE)

呦吼!!!,这是什么鬼?怎么记得在哪里看见过,赶紧百度,原来这是翻译表,怎么操作呢?

from string import maketrans
s = 'hello i\'m jim'
ch = 'eo'
en_ch = 'i!'

# python2.0+
# from string import maketrans
# TRANS_TABLE = maketrans(ch, en_ch)
# python3.0+
TRANS_TABLE = str.maketrans(ch, en_ch)

s.translate(TRANS_TABLE)

这样就可以很方便的去处理字符串,而不是像我这样小白只能循环,当然我也不是只能想到循环,还有正则,哈哈哈,但是感觉这种更舒服.最后感叹一句,还是后端老大NB.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Chinese Authoritarianism in the Information Age

Chinese Authoritarianism in the Information Age

Routledge / 2018-2-13 / GBP 115.00

This book examines information and public opinion control by the authoritarian state in response to popular access to information and upgraded political communication channels among the citizens in co......一起来看看 《Chinese Authoritarianism in the Information Age》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码