《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换
字符串忽略大小写的搜索替换
问题
你需要以忽略大小写的方式搜索与替换文本字符串。
解法
为了在文本操作时忽略大小写,你需要在使用 re 模块的时候给这些操作提供 re.IGNORECASE 标志参数。比如:
>>> text = 'UPPER PYTHON, lower python, Mixed Python'
>>> re.findall('python', text, flags=re.IGNORECASE)
['PYTHON', 'python', 'Python']
>>> re.sub('python', 'snake', text, flags=re.IGNORECASE)
'UPPER snake, lower snake, Mixed snake'
>>>
最后的那个例子揭示了一个小缺陷,替换字符串并不会自动跟被匹配字符串的大小写保持一致。为了修复这个,你可能需要一个辅助函数,就像下面的这样:
def matchcase(word):def replace(m):text = m.group()if text.isupper():return word.upper()elif text.islower():return word.lower()elif text[0].isupper():return word.capitalize()else:return wordreturn replace
下面是使用上述函数的方法:
>>> re.sub('python', matchcase('snake'), text, flags=re.IGNORECASE)
'UPPER SNAKE, lower snake, Mixed Snake'
>>>
讨论
对于一般的忽略大小写的匹配操作,简单的传递一个 re.IGNORECASE 标志参数就已经足够了。
《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换相关推荐
- python中ignorecase_【Python进阶】2.6字符串忽略大小写的搜索替换 re.IGNORECASE
2.6 字符串忽略大小写的搜索替换 问题 你需要以忽略大小写的方式搜索与替换文本字符串 解决方案 为了在文本操作时忽略大小写,你需要在使用 re 模块的时候给这些操作提供 re.IGNORECASE ...
- python中ignorecase_Python: re.IGNORECASE 标志参数字符串忽略大小写的搜索替换
为了在文本操作时忽略大小写,需要在使用re 模块的时候给这些操作提供re.IGNORECASE 标志参数.比如 >>> text = 'UPPER PYTHON, lower pyt ...
- python忽略大小写的搜索_【Python 秘籍】字符串忽略大小写的搜索替换 -
问题 你需要以忽略大小写的方式搜索与替换文本字符串 解决方案 为了在文本操作时忽略大小写,你需要在使用 re 模块的时候给这些操作提供 re.IGNORECASE 标志参数.比如: >>& ...
- python忽略大小写_Python字符串忽略大小写实现搜索和替换
为了针对字符串操作忽略大小写,我们可以使用re模块的时候利用re.IGNORECASE标记参数来达到效果,示例如下: #!/usr/bin/env python3 # _*_coding:utf-8_ ...
- python cookbook 读书笔记2(字符串处理2)
1.8检查字符集中是否包含某字符集中的字符,在以下几个例子中,也就是检查seq是否包含aset中的项,各函数中Any结尾是部分包含,也就是只要有其中元素就返回true,All结尾的是全部包含,必须包含 ...
- 《Python Cookbook 3rd》笔记汇总
文章目录 一.数据结构 二.字符串和文本 三.数字.日期和时间 四.迭代器与生成器 五.文件与IO 一.数据结构 标题 关键词 1.1:拆分序列后赋值给多个变量 可迭代对象.拆分赋值 1.2:拆分任意 ...
- 《Python cookbook》笔记二
<Python cookbook>笔记二 第二章 字符串和文本 -使用多个界定符分割字符串- 你需要将一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定 的. # str ...
- Python Cookbook学习笔记ch2_01
第二章,也可以去这里查看笔记噢虫洞在这里 2.1使用多个界定符分隔字符串 问题:将一个字符串分隔为多个字段,但是分隔符并不是固定的 方案:string对象的split() 只适用于简单的字符串分隔,他 ...
- 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素
<Python Cookbook 3rd>1.4:查找最大或最小的N个元素 问题 怎样从一个集合中获得最大或者最小的N个元素列表? 解法 heapq 模块有两个函数:nlargest()和 ...
最新文章
- sourcetree管理git
- [置顶] 加载事件js代码
- C++,那些可爱的小陷阱(三)
- Tomcat6.0启动startup.bat一闪而过
- 对python中浅拷贝和深拷贝分析详细介绍
- EditPlus构建轻量级编译环境
- 注解Annotation的IoC:从@Autowired到@Component
- Html5 小球键盘移动
- 安装oracle12c之前,centos7安装oracle12c数据库的坑
- IDEA访问不到SpringBoot项目webapp下的内容
- 查询记录rs.previous()使用
- aliyun阿里云视频直播播放器代码
- 林轩田 《机器学习基石》学习笔记
- 哔哩哔哩电脑网页版怎么下载视频
- 【WSL2 Win10】解决子系统中nividia-smi出现的Failed to initialize NVML GPU access blocked by the operating systeM
- 计算机在智能制造专业中的应用,数控技术在智能制造中的应用及发展分析
- VC中三种常见中文内码的转换方法
- 计算机语言市场份额,21年7月编程语言排名:python上升迅速,others占比最高
- RabbitMQ详解及其特性
- 计算机操作题蝴蝶效应,办公自动化上机操作测试题
热门文章
- 如何使用autotools工具
- 抖音最强python_装逼篇 | 抖音超火的九宫格视频是如何生成的,Python 告诉你答案...
- net能和python结合吗_如何不用安装python就能在.NET里调用Python库
- idea修改代码后没有重新编译_SpringBoot中实现代码修改之后的自动更新与热加载...
- 【转】azure认证路线以及学习资源
- C#多线程之旅(1)——介绍和基本概念
- 第十七节:易混淆的概念(静态和非静态、拆箱和装箱)
- ROS入门_1.10 理解ROS服务和参数
- 数据结构中“图”的相关概念理解
- 【Python学习】 - plt画图时,添加标题的中英文问题