为了针对字符串操作忽略大小写,我们可以使用re模块的时候利用re.IGNORECASE标记参数来达到效果,示例如下: #!/usr/bin/env python3

# _*_coding:utf-8_*_

# Time : 18/8/13 下午9:36

# Author : nock.chen

# Site : https://fashengba.com

import re

string_info = "Life is too short. I use PYTHON, I Love python, Python is Good"

capital_python = re.findall('python', string_info, flags=re.IGNORECASE)

sub_result = re.sub('python', 'snake', string_info, flags=re.IGNORECASE)

print('find result is: %s, sub result is: %s' % (capital_python, sub_result))

Result: find result is: ['PYTHON', 'python', 'Python'], sub result is: Life is too short. I use snake, I Love snake, snake is Good

如上的示例,在用re.sub方法做替换的时候有一个小缺陷,替换字符串并不会自动跟你要匹配替换掉的字符串大小写保持一致,如果你需要做到保持一致,需要增加一个辅助函数来做这个事情,示例如下: #!/usr/bin/env python3

# _*_coding:utf-8_*_

# Time : 18/8/13 下午9:36

# Author : nock.chen

# Site : https://fashengba.com

import re

string_info = "Life is too short. I use PYTHON, I Love python, Python is Good"

def match_case(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 word

return replace

sub_result = re.sub('python', match_case('snake'), string_info, flags=re.IGNORECASE)

print(sub_result)

Result: Life is too short. I use SNAKE, I Love snake, Snake is Good

matchcase('snake')返回了一个回调函数(参数必须是一个match对象),sub()函数除了可以接受替换字符串以外,还可以接受一个回调函数。

对于一般的忽略大小写的匹配操作,简单的传递一个re.IGNORECASE标志参数就已经足够了。 但是需要注意的是,这个对于某些需要大小写转换的Unicode匹配可能还不够。

本文由 空心菜 创作,采用 知识共享署名4.0 国际许可协议进行许可

本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名

最后编辑时间为: Aug 14, 2018 at 02:10 pm

python忽略大小写_Python字符串忽略大小写实现搜索和替换相关推荐

  1. python中find函数忽略大小写_python字符串(大小写、判断、查找、分割、拼接、裁剪、替换、格式化)...

    一.通用操作 1.Python len() 方法返回对象(字符.列表.元组等)长度或项目个数. 语法 len()方法语法: len( q ) 参数 q -- 对象. 返回值 返回对象长度. 实例 以下 ...

  2. python islower函数_python字符串是否是小写-python 字符串小写-python islower函数-python islower函数未定义-嗨客网...

    Python字符串是否是小写教程 在开发过程中,有时候我们需要判断一个 Python islower()函数详解 语法 str.islower() -> bool 参数 参数 描述 str 表示 ...

  3. python substr函数_Python 字符串函数

    1.去空格及特殊符号 s.strip() s.lstrip() s.rstrip() s.strip().lstrip().rstrip(',') 声明:s为字符串,rm为要删除的字符序列 s.str ...

  4. python设置字符_python字符串操作

    # FirstPython.py """ 标准字符串函数 """ """ 字符串索引 "" ...

  5. python输出举例_python字符串格式化输出及相关操作代码举例

    字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在   Python 中,字符串格式化使 ...

  6. python isalnum函数_Python 字符串 (isdigit, isalnum,isnumeric)转

    Python isdigit() 方法检测字符串是否只由数字组成. 语法 isdigit()方法语法: str.isdigit() 参数 无. 返回值 如果字符串只包含数字则返回 True 否则返回 ...

  7. 字符串忽视大小写java_java字符串忽略大小写

    equals()和 equalsIgnoreCase() 比较两个字符串 7.regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载 的形式允许在比较中忽略大小写. ...

  8. python 忽略错误_python如何忽略异常

    python一般使用try-except-处理异常.try:          #可能会出现异常的代码,放在try下 code1      #如果try内部任意一行代码出现异常,# 直接跳转至exce ...

  9. python 三引号_Python 字符串

    字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var2 ...

最新文章

  1. 更改windows域名
  2. python真的那么火吗-前言、Python是真的火,还是炒得火?来看看它的前世和发展...
  3. Matlab中cq是什么,Matlab中gradient函数(梯度计算原理)
  4. 由web程序出现乱码开始挖掘(Bom头、字符集与乱码)
  5. mysqlbinlog: [ERROR] unknown variable ‘default-character-set=utf8mb4‘
  6. git菜单形式的_添加“Git Bash Here”到右键菜单
  7. 解决CentOS遇到Qt编译(error: cannot find -lGL)
  8. 为什么 scrum 开发人员是一个 T-形的人 ?
  9. 54. C# -- 泛型(Generic)
  10. Django初级手册1-项目和应用的创建与简单的数据库操作
  11. Simscape Multibody --- 齿轮齿条约束
  12. Golang ToLower和ToLowerSpecial源码探究
  13. Airbnb暂停中国境内服务 中国民宿市场消化15万房源
  14. 黑苹果win10双系统下文件名变灰色解决办法
  15. config server高可用的怀疑(非副本集模式)
  16. Linux局域网共享打印机(实用型文档)
  17. 城 市 名 经 度 纬 度
  18. 华为5g服务器硬件供应商,华为发布5G多模终端芯片和商用终端
  19. 什么是ERP?可能是全网最权威的解读
  20. D/D/O/S学习思维导图

热门文章

  1. 如何对B站缓冲的视频进行保存成mp4格式
  2. SQL主键不能为NULL,消除重复数据问题
  3. CSS绘制铅笔:比心
  4. SQL Server要求查询所有姓‘’王‘’的员工信息
  5. Python 集合set详解(超详细)
  6. 【Kevin Learn QMUI】--> Android Studio 大黄蜂使用介绍
  7. 160809610袁韬淳
  8. android support v7 v13,Android support V3 v7 v13的差别
  9. 解决QQ聊天QQ秀咒语为什么我不能施放咒语/看不到咒语效果?
  10. 技术人员的赚钱之道-11:钱是什么?钱能生钱吗?