python字符串(特殊字符,取值,常用方法)

Python012

python字符串(特殊字符,取值,常用方法),第1张

1.字符 特殊字符串 \n:换行 \r:删除\r前面的字符 \t:制表符 例如: s_1 = "人生苦短,\n我选Python!" s_2 = "人生苦短,\r我选Python!" s_3 = "人生苦短,\t我选Python!" print(s_1) # 人生苦短, print(s_2) # 我选Python print(s_3) # 人生苦短, 我选Python! 遇到特殊字符,想去掉效果,把特殊字符转成普通字符 可以使用# r Rs_1 =r "人生苦短,\n我选Python!" s_2 =R "人生苦短,\r我选Python!" s_3 = "人生苦短,\t我选Python!" 2.字符串取值 特点:取头不取尾,正序从0开始,倒序从-1开始 [start:end:step] #step:表示间隔 s='hello python lemon' print(s[6:12:1]) #正序 python 6,7,8,9,10,11 print(s[-12:-6:1]) # 倒序 python -12,-11,-10,-9,-8,-7 print(s[:])#hello python lemon 从头取到尾 [:] print(s[6:]) #python lemon 从6取到尾 [start:] print(s[:17])# [:end] 从开始取到16 获取s所有的偶数位的字母 print(s[0:17:2]) 获取s所有的奇数位的字母 print(s[1:18:2]) 倒序输出所有的字母 print(s[17::-1]) # 不可以写出是s[17:-1:-1] or s[17:0:-1] 3.常用方法 find() : 返回-1表示未找到子字符串,找到会返回对应字符的索引,子字符包含单个字符或多个字符 isdigit():判断是否全部是数字,是返回True,否返回False replace(要替换的内容:替换的内容:替换的次数):指定替换内容以及被替换的字符串,并可以指定替换次数,默认是全部替换 split(指定字符,指定切割的次数):根据指定字符对字符串进行切割,默认全部切割 strip():去掉头和尾指定的字符 upper():字符串的字母转成大写 lower():字符串的字母转成小写 swapcase():字符串的字母大小互换 例如: s='learn python in lemon' print(s.find('n')) #返回找到字符串的索引 print(s.find(python))#返回找到的子字符串的第一个索引值--6 print(s.find('k')) # 返回-1 print(s.find('o',11))#从索引值为11的值开始找---19 print(s.isdigit())# 返回False s1 = "******learn python*****" print(s.strip("*"))# learn python

在日常项目中,我们经常会使用python从字符串中提取我们想要的信息,以下是各种提取信息方法的总结。

格式: str[beg:end:step]

描述: 字符串[开始索引:结束索引:步长]切取字符串为开始索引到结束索引-1内的字符串步长不指定时步长为1

举例:

print(str[::2]) //::这里表示整个字符串,每两个位置提取一个

print(str[1:3]) //提取第2个到第3个

print(str[2::]) //截取2 - 末尾的字符

本小节介绍了,处理字符串经常用到的一些函数方法。

语法: str.find(str, beg=0, end=len(string))

描述: Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法: str.split(str="", num=string.count(str)).

描述: Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串.返回分割后的字符串列表,该方法可以讲字符串转化为列表处理。

另外的: str.splitlines([keepends])按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

语法: str.partition(str)

描述: partition() 方法用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

语法: str.replace(old, new, max)

描述: Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法: str.strip([chars])

描述: Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

语法: str.join(sequence)

描述: Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

上述方法还有其变形,如str.rfind(),这代表从字符串右边开始处理,正常是从左边开始处理。下表是其它常用的python字符串自带函数方法。

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。本小节主要介绍Python中常用的正则表达式处理函数和正则表达式的书写规则。

re 模块使 Python 语言拥有全部的正则表达式功能。所以在python中使用正则表达式处理函数需要import re

语法: re.search(pattern, string, flags=0)

描述: re.search 扫描整个字符串并返回第一个成功的匹配。匹配成功re.search方法返回一个匹配的对象,否则返回None。

语法: re.sub(pattern, repl, string, count=0, flags=0)

描述: Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。

语法: pattern.findall(string, pos, endpos)

描述: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。注意: match 和 search 是匹配一次 findall 匹配所有。

模式字符串使用特殊的语法来表示一个正则表达式: