【Python】字符串对象常用方法

Python 字符串对象提供了大量方法用于字符串的查找、替换、判断、切分、连接和排版等操作,字符串属于不可变序列,涉及字符串“修改”方法都是返回修改后的新字符串,原始字符串不会做任何修改。

目录

1. 查找

2. 替换

3. 拆分 

4. 连接

5. 转换 

6. 删除

7. 判断字符串开始或结束

8. 判断字符串中字符 


1. 查找

(1)find(str,beg=0,end=len(string))和 rfind():分别用来查找一个字符串在另一个字符串指定范围(默认整个字符串)中第一次和最后一次出现的位置,如果不存在,则返回-1。

(2)index(str,beg=0,end=len(string))和 rindex():方法和 find()、rfind一样,若不存在,则抛出异常。

(3)count(str,beg=0,end=len(string)):返回一个字符串在当前字符串中出现的次数。 

>>> s="Java语言,C语言"     
>>> s.find("语言")        #从左边开始查找,返回:4
>>> s.rfind("语言")       #从右边开始查找,返回:8
>>> s.find("a",2)         #从索引号2开始查找,返回:3
>>> s.find("a",4,10)      #从索引号4开始查找,到索引号10结束,返回:-1
>>> s.index('va')         #从左边开始查找,返回:2
>>> s.index('语言C')      #不存在,报错
>>> s.count("语言")       #统计“语言”出现的次数,返回:2

2. 替换

(1)replace(old,new[,max]):把字符串中的old替换成new,如果max指定,则替换不超过max次。 

>>> s="汉城是韩国的首都,由2000多万人生活在汉城。"
>>> s2=s.replace("汉城","首尔")      #将s中的“汉城”全部替换成“首尔”

(2)maketrans(str1,str2):用来生成字符映射表,将str1的单个字符依次映射为str2中的单个字符,返回一个字典;而 translate(table,deletechars=" "):根据str给出的表(包含256个字符)转换string的字符,要过滤的字符放到deletechars参数中。 

>>> map=' '.maketrans('我n!','你m?')    #定义映射:我→你,n→m,!→?
>>> s="我正在学Python!"
>>> s.translate(map)       #按定义好的映射表,全部进行替换
'你正在学Python?'    

3. 拆分 

(1)split(str=" ",maxsplit=len(str)):以str为分隔符,将字符串从左往右拆分,返回一个列表;默认对整个字符串进行拆分。

(2)rsplit():按指定字符作为分隔符,把当前字符串从右往左分隔成多个字符串,并返回包含分隔结果的列表。 

>>> '美国 中国 日本'.split(' ')     #按空格从左往右拆分,返回列表
['美国','中国','日本']
>>> '美国 中国 日本'.split('。')    #指定的分隔符“。”不存在,返回原字符串
['美国 中国 日本']
>>> "2020-11-22".rsplit('-')       #按“-”从右往左拆分,返回列表
['2020','11','22']

split()、rsplit()方法还可以指定最大的拆分次数 

>>> '美国 中国 日本'.split(maxsplit=1)    #按默认的空格符进行拆分
['美国','中国 日本']

(3)partition():按指定字符串为分隔符,将原字符串从左往右拆分为三部分:分隔符前的字符串、分隔符字符串、分隔符后的字符串,如果指定的分隔符不在原字符串中,则返回原字符串和两个空字符串。

(4)rpartition():功能与partition()相似,只是从右往左拆分。 

>>> '美国 中国 日本'.partition(' ')    #按首个空格从左往右拆分,返回一个元组
('美国',' ',' 中国 日本')

4. 连接

s.join(x):按照指定的s字符,将变量x中的字符串连接起来,返回一个字符串,连接符s可以为空字符。 

>>> x=list("三国演义")   
>>> x
>>> '|'.join(x)          #'|'为连接符,输出:三|国|演|义

5. 转换 

(1)s.lower():将字符串s中的大写英文字母全部改为小写。

(2)s.upper():将字符串s中的小写英文字母全部改为大写。

(3)s.capitalize() :将字符串s中的第一个字符改为大写,其余不动。

(4)s.title():将字符串s中每一个单词的第一个字符改为大写,其余不动。

(5)s.swapcase():将字符串s中的英文字母,大小写互换,即大写改为小写,小写改为大写。

6. 删除

(1)s.strip([char]):从字符串s两边删除指定的字符char,默认为空格。

(2)s.lstrip([char]):从字符串s左边删除指定的字符char,默认为空格。

(3)s.rstrip([char]):从字符串s右边删除指定的字符char,默认为空格。 

7. 判断字符串开始或结束

(1)s.startswith(str):判断字符串s是否以指定字符串str开始。

(2)s.endswith(str):判断字符串s是否以指定字符串str开始或结束。 

8. 判断字符串中字符 

(1)s.isalnum():判断字符串s中的字符,是否全为英文字母或数字。

(2)s.isalpha():判断字符串s中的字符,是否全为英文字母。

(3)s.isdigit():判断字符串s中的字符,是否全为数字。

(4)s.isspace():判断字符串s中的字符,是否全部为空格字符。

(5)s.isupper():判断字符串s中的字符,是否全为大写英文字母。

(6)s.islower():判断字符串s中的字符,是否全为小写英文字母。

你可能感兴趣的:(【Python】笔记,1024程序员节,开发语言,python)