python 字符串的方法

版权声明:孤 https://blog.csdn.net/Wu000999/article/details/82693549

字符串的常用函数


字符串的分割   str.split()

split()可以将一个字符串按照指定的标识分割成几部分。这几部分将以列表的形式返回,返回的列表是由字符串元素组成。

split( sep , maxsplit ),sep代表分割字符串时基于的分割符,maxsplit表示分割的次数。
split的参数为长度大于0的有效字符串,如果参数字符串没有在在分割字符串中出现,则无法分割,这是仍返回一个列表,列表中只有一个字符串,就是待分割字符串。

#split()

str1 = "a/b/c"
print("str1: ",str1)
print("str1.split(\"/\"): ",str1.split("/")) #分割符不会在返回列表中返回

#如果分割符位于分割字符串的左端或右端,则在分割结果中出现""
print("\nstr1.split(\"c\"): ",str1.split("c"))

#maxsplit指定分割次数,默认为-1,即完全分割,若为0,及分割,若大于0,则为分割次数
str2 = "1+2+3+4+5"
print("\nstr2: ",str2)
print("str2.split(\"+\"): ",str2.split("+"))
print("str2.split(\"+\",-1): ",str2.split("+",-1))
print("str2.split(\"+\",0): ",str2.split("+",0))
print("str2.split(\"+\",2): ",str2.split("+",2))

#当sep为None默认值,即在分割时不指定分割字符,此时会按照目标串中的空白符进行分割
#空白符包括空格、制表符("\t")、换行符("\n")等。分割时所有的空白都会被分割,且多
#个连续的空白会被作为一个空白进行分割,且不会产生前面左右边界分割时产生的""

str3 = "1   3  \n 5\n\t67   "
print("\nstr3: ",str3)
print("str3.split(): ",str3.split())
print("str3.split(\"\\n\"): ",str3.split("\n"))
print("str3.split(\" \"): ",str3.split(" "))

这里写图片描述


字符串的替换   str.replace()
replace()函数可以对目标字符串中的特定字符串使用新的字符串进行替换,并且将替换后形成的字符串返回。
replace( old , new , count ),count是一个可选参数,如果函数中不使用count作为参数,则会对目标字符串中的全部old进行替换,否则将只替换字符串前面出现的count个old。

#replace(old,new,count)

str1 = "11aa22bb11cc55ddaa"
print("str1: ",str1)
print("str1.replace(\"1\",\"H\"): ",str1.replace("1","H"))

#当count大于old出现的次数,则全部替换,为负数时,也全部替换
print("str1.replace(\"a\",\"5\"): ",str1.replace("a","5"))
str2 = str1.replace("a","5")
print("str2.replace(\"5\",\"0\"): ",str2.replace("5","0"))
str3 = str2.replace("5","0")
print("str3.replace(\"0\",\"8\",3): ",str3.replace("0","8",3))

这里写图片描述


字符串的查找   find() 、rfind()

find()和rfind()函数都是在字符窜中查找指定的子串,并返回其第一次出现的的索引,如果没有则返回 -1 。但find()函数是从字符串的开头开始查找,rfind()是从字符串的尾部开始查找。
str.find( substring , start, end )substring是要查找的字串,是start是要开始的索引,end是结束的索引,即在 [ start : end ]查找。

#find()、 rfind()

str1 = "hello world"
print("str1: ",str1)
print("str1.find(\"l\"): ",str1.find("l"))
print("str1.rfind(\"l\"): ",str1.rfind("l"))

print("查找出所有的l的索引:")
i = 0
h = []
i = str1.find("l")
while i>-1:
    h.append(i)
    i = str1.find("l",i+1)

for j in h:
    if j>-1:
        print(j)

这里写图片描述


字符串的反转

字符串反转是指把字符串中最后一个字符串移到字符串第一个位置,按照倒序的方式依次前移。python中没有提供对字符串进行反转的函数,但是可以使用列表和字符串索引来实现字符串的反转。

#字符串的反转

#使用list的reverse()

def reverse(s):
    li = list(s)
    li.reverse()
    s = "".join(li)
    return s
#使用切片来反转

def reverse1(s):
    return s[::-1]

str1 = input("输入字符串: ")
print("使用list反转: ",reverse(str1))
print("使用切片反转: ",reverse1(str1))
print("直接 str1[:: -1] 反转:",str1[::-1])
print("str1: ",str1)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Wu000999/article/details/82693549