目录
1. split和join(字符串与列表之间相互转化)
1.1 split
split主要用于将字符串拆分为列表,拆分点为split自己设置的分隔符,比如
a='1+2+3+4+5'
b=a.split('+')
print(b) #['1', '2', '3', '4', '5']
这里就是以+为分割符拆分a
当然,当split后面没有自己设置的分隔符时,它就默认为空白字符
a="how are you?"
b=a.split()
print(b) #['how', 'are', 'you?']
1.2 join
join则是将列表合并为字符串,当然你也可以在列表的每两个元素之间加入你想要的分隔符
a=['1', '2', '3', '4', '5']
b='+'.join(a)
print(b) #1+2+3+4+5
当然当join前面什么也不加时默认没有分隔符
a=['1', '2', '3', '4', '5']
b=''.join(a)
print(b) #12345
要注意一点,只有a中元素全部为字符串时join才能运行,如果出现数字及其列表之类的就会报错
a=[1,2,3,4,5]
b=''.join(a)
print(b)
#Traceback (most recent call last):
# File "D:\PythonApplication2\PythonApplication2.py", line 60, in <module>
# b=''.join(a)
#TypeError: sequence item 0: expected str instance, int found
2.查找元素
2.1 find和rfind
find用于查找字符串中的字串,找到时返回子串中第一个字串的索引,没有找到则返回-1
a='hello world hello world'
b=a.find('wo')
print(b) #6
c=a.find('nihao')
print(c) #-1
rfind和find都是查找字符串中的字串,不过rfind是从后往前找,当然也可以理解为返会最后一个所找的字串 索引,没有则返回-1
a='hello world hello world'
b=a.rfind('wo')
print(b) #18
2.2 index和rindex
index和rindex基本和find和rfind一样,唯一不同的是当index和rindex没有找到子串时不会返回-1,会直接报错
a='hello world hello world'
b=a.index('wo')
print(b) #6
c=a.index('nihao')
print(c)
#Traceback (most recent call last):
# File "D:\PythonApplication2\PythonApplication2.py", line 62, in <module>
# c=a.index('nihao')
#ValueError: substring not found
2.4 startswith和endswith
startswith是判断字符串是否是以指定字符串为开头,是则返回True,没有则返回False
a='hello world hello world'
b=a.startswith('hell')
print(b) #True
c=a.startswith('heu')
print(c) #False
endswith是判断字符串是否是以指定字符串为结尾,是则返回True,没有则返回False
a='hello world hello world'
b=a.endswith('rld')
print(b) #True
c=a.endswith('wld')
print(c) #False
3.字母大小写转换
3.1 lower和upper以及title
lower返回字符串小写版本
a="Ni Hao ZYPC"
b=a.lower()
print(b) #ni hao zypc
upper则返回字符串大写版本
a="Ni Hao asdf"
b=a.upper()
print(b) #NI HAO ASDF
title将字符串中每个单词的首字母大写,其余的小写
a="this is a gOOD friend"
b=a.title()
print(b) #This Is A Good Friend
4.替换元素
4.1 replace
replace将字符串中指定字串都替换为另一字串
a='This is an apple'
b=a.replace('is','az') #这里将is都替换为iz
print(b) #Thaz az an apple
4.2 translate
translate和replace都可以将将字符串中指定字串都替换为另一字串,但replace是将整体替换,以is替换为az为例,replace是在字符串中找到所有的is,然后将is替换为az,而translate则是将所有的i替换为a,再将所有的s替换为z,即实现逐个替换
但在用translate之前要创建一个转移表,即
t=str.maketrans('is','az')
a='This is an aiile'
b=a.translate(t)
print(b) #Thaz az an azzle
当然,还可以提供一个参数给maketrans,作为要删除的元素,比方说要删除l
t=str.maketrans('is','az','l')
a='This is an aiile'
b=a.translate(t)
print(b) #Thaz az an aaae
这里还可以删除空格
t=str.maketrans('is','az',' ')
a='This is an aiile'
b=a.translate(t)
print(b) #Thazazanaaale
5.strip
strip用于删除字符串开头和末尾的空白
a=' hello world '
b=a.strip()
print(b) #hello world
lstrip用于删除字符串开头空白
a=' hello world '
b=a.lstrip()
print(b) #hello world (这里右边还有四个空格)
rstrip用于删除字符串末尾空白
a=' hello world '
b=a.lstrip()
print(b) # hello world