Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)

时间:2022-05-01 21:54:17
Python 下字符串的提取、分割与删除 对于文本来讲,提取、分割和删除是我们用的较多的操作。 文本我们可以看成是字符串对象。首先说到的是 in 和 not in操作。
字符串的提取 in 和 not in 判定是否包含字符 我们可以使用 in 或者 not in 来检查一个字符串是否是另一个字符串的一部分。 使用方法:

关键字 [not] in 字符对象 #判定是否存在所示关键字

Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)

in 和 not in 主要调用了 str 对象的 __contains__ 方法。 如果 字符串2 包含 字符串1 则 "字符串1 in 字符串2" 返回 True 我们看下 __contains__ 方法的描述,使用了第2章说过的 ? 帮助。 Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
从帮助中我们看到 uname.__contains__() 等价于 'Linux' in uname

find() 和 index() 判定包含字符的位置既然可以判定是否包含字符,包含字符的位置是下一个需要知道的。字符对象.find('关键字') 字符对象.index('关键字') #查找关键字处于字符串的位置两个函数都是查询关键字位置的,区别在于返回值不同。请看例子Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
在关键字能查找到的情况下 , index() 和 find() 返回值是相同的,但是在找不到的情况下,find()返回-1 而 index() 抛出一个错误。
startswith() 和 endswith() 判定字符串是否以特定子串开始或者结束这个方法返回的是T/F,对于验证路由器备份,或者log日志判断第一列等操作还是有意义的。字符对象.startswith('关键字') 字符对象.endswith('关键字')例子:Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
upper() 和 lower() 忽略大小写这两个方法非常有用,主要用于对两个字符串比较但是不想考虑其大小写时。字符对象.upper() 字符对象.lower()例子:Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
对于用户名密码或者验证码输入判定时很有效。==================================================字符串的分割既然可以判定是否包含字符,包含字符的位置是下一个需要知道的。字符对象[位置1:位置2] #切分字符串这其实是python中一个很典型的用法。我们可以把 ":" 看成希望得到的子串。位置1为0 的时候可以写成 [: 位置2]位置的部分是一个整数,可以为负数。下面是位置的标识。-5 -4 -3 -2 -1L i n u x0 1 2 3 4[1:4] 截取的是 1 2 3位置的字符,也就是 inu 。不包括4的字符x 。我们看例子Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
日常工作中我们可以依此来截取个 IP 地址或者log日志时间什么的。还有一种是步长截取,用的不是很多。中间有2个冒号 [ 1:: 2 ]L i n u x01 23 4意思是 从1位开始,每隔2个步长截取一个字符。答案是 iu
split() 根据指定的分隔符对字符串提取这个方法的典型用法是:把希望作为分隔符的字符串作为参数传递给它。一般来说分隔符是一个单个字管道符,像 "," " | " 诸如此类。字符对象.split('分隔符',[应用几次]) #以指定分隔符分割字符串Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
我们用逗号进行分割,如果第2个参数输入数字,代表分割次数。调用的话也很简单。当作列表调用。如果要以行来分割的话。splitlines() 可以做到按行分割,但是一般来说行处理不用行分割的方法。这里不赘述了。
==================================================字符串的删除lstrip() rstrip() strip() 删除空白或字符这3个方法本来的意思是删除前导空白 结尾空白 或者 前后空白。但是使用参数删除任意字符。lstrip() 删除前导空白或者字符rstrip() 删除结尾空白或者字符strip() 删除前后的空白或者字符注:所有strip() 方法会创建或者返回新的字符串对象,不会修改原有对象。使用方法: 字符对象.strip(['关键字']) #删除空白或者关键字Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
我们看到了删除空白的情况,之后看看删除字符的。Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
In[19] 显示了当我们关键字是 “<>”的时候,并不是顺序匹配 <> 而是删除了全部的 < 和 >下面一个例子更明显。Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
虽然是删除了前后的字符,但是中间的字符是不会被删除的。Python 下字符串的提取、分割与删除- 千月的python linux 系统管理指南学习笔记(11)
中间的 e 还在。