社区首页 >问答首页 >Python regex语句

Python regex语句
EN

Stack Overflow用户
提问于 2014-12-08 23:10:01
回答 3查看 71关注 0票数 3

我想在Python 2.7.8中创建一个regex语句来替换字符。它的工作原理是这样的。

代码语言:javascript
代码运行次数:0
复制
ó -> o
ú -> u
é -> e
á -> a
í -> i
ù,ú  -> u

这些是我想要更改的唯一unicode字符。像ë, ä这样的unicode字符,我不想改变。因此,单词thójlà将变成tholja。我确信有一种方法可以让我不必像下面这样单独创建所有的正则表达式。

代码语言:javascript
代码运行次数:0
复制
word = re.sub(ur'ó', ur'o', word)
word = re.sub(ur'ú', ur'u', word)
word = re.sub(ur'é', ur'e', word)
....

我一直在尝试解决这个问题,但一直没有任何运气。如有任何帮助,我们不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2014-12-08 23:39:19

尝试使用str.translate and maketrans...

代码语言:javascript
代码运行次数:0
复制
print('thójlà'.translate(str.maketrans('óúéáíùú', 'oueaiuu')))
# thojlà

这样,您就可以确保只进行您想要进行的替换。

如果要更改许多字符串,则应将maketrans分配给一个变量,如

代码语言:javascript
代码运行次数:0
复制
table = str.maketrans('óúéáíùú', 'oueaiuu')

然后,每个字符串都可以被翻译为

代码语言:javascript
代码运行次数:0
复制
s.translate(table)
票数 4
EN

Stack Overflow用户

发布于 2014-12-08 23:18:53

使用String的replace()函数,您可以执行以下操作:

代码语言:javascript
代码运行次数:0
复制
x = "thójlà"                  
>>> x
'thójlà'
>>> x = x.replace('ó','o')
'thojlà'
>>> x = x.replace('à','a')
'thojla'

一种概括的方式:

代码语言:javascript
代码运行次数:0
复制
# -*- coding: utf-8 -*-

replace_dict = {
    'á':'a',
    'à':'a',
    'é':'e',
    'í':'i',
    'ó':'o',
    'ù':'u',
    'ú':'u'
}

str1 = "thójlà"

for key in replace_dict:
    str1 = str1.replace(key, replace_dict[key])

print(str1) #prints 'thojla'

第三种方法是,如果字符映射列表变得太大:

代码语言:javascript
代码运行次数:0
复制
# -*- coding: utf-8 -*-

replace_dict = {
    'a':['á','à'],
    'e':['é'],
    'i':['í'],
    'o':['ó'],
    'u':['ù','ú']
}

str1 = "thójlà"

for key, values in replace_dict.items():
    for character in values:
        str1 = str1.replace(character, key)

print(str1)
票数 3
EN

Stack Overflow用户

发布于 2014-12-08 23:17:15

如果可以使用外部包,我认为最简单的方法是使用unidecode。例如:

代码语言:javascript
代码运行次数:0
复制
from unidecode import unidecode

print(unidecode('thójlà'))
# prints: thojla
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27368727

复制
相关文章
Qt常用窗口部件
从《C++.GUI.Qt.4编程(第二版)》上整理来的。 Qt提供4中类型的按钮:QPushButton、QToolButton、QCheckBox 和 QRadioButton。QPushButto
tanmx
2018/05/25
1.9K0
【QT】QT窗口部件
QT提供的默认部件基类包括QMainWindow、QWidget、和QDialog,这三个部件基类也是用的最多的。
半生瓜的blog
2023/05/13
1.3K0
【QT】QT窗口部件
PyQt QStackedWidget(层叠窗口部件)
QStackedWidget (层叠窗口部件)和 QTabWidget 的作用相似,都可以把多组不同的部件 放置到不同的页面显示,从而节省 窗口空间。它们的使用方法也相似,通过下面的方法可以添加页面:
用户6021899
2019/08/14
3.4K0
PyQt 自定义窗口部件(二)
本篇介绍用如何QPainter()画出一个可以显示分数的滑块控件,并使其能正确地响应鼠标事件,键盘事件以及自动调整尺寸。
用户6021899
2019/08/14
1.2K0
最近状态闲谈----学习小程序
        最近突然想学习小程序,说干就干!近段时间在学习,可能博客更新内容没有之前那么频繁,预祝博客在前端分类下新增小程序分类,记录微信小程序学习的一些心得!
十月梦想
2018/08/29
3580
PyQt 自定义窗口部件(三)
Y形管由abci、edcf 以及cihgf三部分组成,内部的颜色由流体的流速决定。各个部分均使用逻辑坐标系绘制。
用户6021899
2019/08/14
6150
PyQt 自定义窗口部件(一)
本篇以一个例子来介绍如何通过子类化QWidget或其它内置窗口部件来创建自定义的窗口部件。
用户6021899
2019/08/14
1.2K0
容纳有状态的应用程序
像Docker Engine这样的应用程序容器技术提供了底层应用程序组件的基于标准的打包和运行时的管理。
QiqiHe
2018/01/11
2.6K0
公众号还是小程序?内容小程序创业机会来了!
小程序对于内容创业的价值还是很大的,微信小程序是不是适合内容创业?尽管之前的舆论不是特别的看好小程序的内容创业,但是很多公司依然在尝试小程序的内容创业。也并非是没有可能的机会的。
微宝阁
2019/02/15
3.1K0
公众号还是小程序?内容小程序创业机会来了!
怎么开发小程序_专业提供小程序开发定制解决方案
怎么开发小程序_专业提供小程序开发定制解决方案 微信小程序制作流程是怎样的?作为新生想要开发一个小程序,了解到完整的小程序制作流程是必不可少的,下面就和小编一起看看小程序流程都有哪些吧! 微信小程序制
用户3711474
2018/10/26
2.2K0
微信小程序根据状态换图
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。----
达达前端
2019/08/23
4740
Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)
我们在开发程序是常常会须要软件全屏显示、自己定义标题(使用button等控件)和其它的需求,今天这一讲就是怎样控制Android应用程序的窗口显示.
全栈程序员站长
2022/07/05
1.2K0
Android 应用程序窗口显示状态操作(requestWindowFeature()的应用)
还是那些微信小程序的坑。。
微信小程序嘛,一直都在升级,也一直在挖坑。自从官方出文通知10月20日起回收用户信息(用户性别及地区信息
谭广健
2021/10/27
5690
还是那些微信小程序的坑。。
【tkinter系列 第十一课 Menu窗口部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/11
1.7K0
什么是小程序?微信小程序有什么好处……
企鹅号小编
2017/12/26
4K0
什么是小程序?微信小程序有什么好处……
商城小程序特点有哪些?
所有商家做商城就不得不考虑成本问题,商城类小程序是交易成本最低的一种。小程序基于微信的平台具有庞大的用户群体,而且,不收取任何入驻、交易费用。商家只需要一个商城小程序,就可以开展线上活动。更低的交易成本,是商城类小程序的一大优势。
木鱼小铺
2019/08/09
1.4K0
有一大波小程序正在靠近小程序定位小程序野心小程序开发最后
早期小程序想吃螃蟹的人,想着抢占第一波流量福利,然而小程序的定位及早期玩具形态,纯小程序应用基本都没有变现,太过超前反而得不偿失。
IT晴天
2018/08/20
6560
有一大波小程序正在靠近小程序定位小程序野心小程序开发最后
【tkinter系列 第六课 Radiobutton窗口部件 】
python中通常我们写程序,显示结果和操作都是在终端区,如果要想实现一个有显示界面的程序那该怎样实现呢?python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带的tkinter库来实现。
叶子陪你玩
2020/03/12
1.3K0
比较|小程序组件与小程序插件有什么区别?
近期发现有不少小伙伴分不清小程序组件和小程序插件,以为它们是一回事,只是措辞不一样。但实际上,小程序组件和小程序插件完全是两回事——插件是可以直接提供服务的,组件是给开发者提供的轮子,不能直接提供服务。下面就来给大家仔细捋一捋这两者的区别。
用户10245619
2023/01/04
7870
个人注册的小程序有什么限制?小程序问答#13
2017年3月27日,微信小程序开放个人主体注册小程序,相信很多个人开发者都申请小程序了吧。 但个人主体小程序和组织主体小程序又有什么不同呢?相对而言有什么限制呢? 今天,橙子菌就和大家聊聊两者的区别吧! 首先,接口限制 可以肯定的是,因为个人的资质和安全问题,个人主体的小程序是无法完整地使用小程序全部的接口和能力;那么,具体有哪些接口用不了呢? 1. 微信支付接口 如需在小程序使用微信支付,就必须先开通微信支付商户账号,而开通商户号必须是具备企业资格,个人资质无法开通商户账号。 除此之外,小程序还必须通过
企鹅号小编
2018/01/10
4.7K0
个人注册的小程序有什么限制?小程序问答#13

相似问题

有状态窗口小部件不重建

311

不能在showBotttomSheet的有状态小部件中使用提供程序

19

如何为有状态窗口小部件编写测试?

125

在使用提供程序时不应该使用有状态小部件吗?

24

Android游戏窗口小部件还是硬编码窗口小部件?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文