Python语言学习:字符串常用的方法

python字符串常用的方法

1. find( ):在字符串中搜索指定的值并返回它被找到的位置,如果没有找到,则返回-1

string.find(value,start,end)  #value:必需,要检索的值;start:可选,开始检索的位置,默认是0;end:可选,结束检索的位置,默认是字符串的结尾。

#!/usr/bin/python
#如果只是位置5和10之间搜索时,字母“e”首次首先在哪里?
txt = "Hello, welcome to my world."
x = txt.find("e",5,10)
print(x) #输出结果:8

rfind( ):在字符串中搜索指定的值,并返回它被找到的最后位置,如果没有匹配项则返回-1。

string.rfind(value,start,end)  #value:必需,要检索的值;start:可选,从何处开始检索,默认是0;end:可选,在何处结束检索,默认是到字符串的末尾。
#!/usr/bin/python
str = "this is really a string example...wow!!!"
substr = "is"
print (str.rfind(substr,0,10)) #输出结果:5

2. index( )): 在字符串中搜索指定的值并返回它被找到的位置,否则引发异常。与find方法唯一不同的是找不到值,find方法返回-1。

string.index(value,start,end)    #value:必需,要检索的值;start:可选,在哪里开始检索,默认是0;end:可选,在哪里结束检索,默认是字符串的末尾。

#!/usr/bin/python
#如果只是位置5和10之间搜索时,字母“e”首次首先在哪里?
txt = "Hello, welcome to my world."
x = txt.index("e",5,10)
print(x) #输出结果:8 #搜素字符串中的q,如果没有则返回异常
txt ="Hello, welcome to my world."
print(txt.index("q")) #输出结果:ValueError:substring not found

 rindex( ):在字符串中搜索指定的值,并返回它被找到的最后位置,否则引发异常

string.rindex(value,start,end)  #value:必需,要检索的值;start:可选,从何处开始检索,默认是0;end:可选,在何处结束检索,默认是字符串的末尾。

#!/usr/bin/python
#最后出现文本中的字母“e”是哪里
txt = "Hello, welcome to my world."
x = txt.rindex("e")
print(x) #输出结果:13

3. count( ):返回指定值在字符串中出现的次数,如果不存在则返回0

string.count(value,start,end)   #value:必需,字符串,要检索的字符串;start:可选,整数,开始检索的位置,默认是0;end:可选,整数,结束检索的位置,默认是字符串的结尾。
#!/usr/bin/python
#从位置10到24进行检索
txt = "I love apples, apple are my favorite fruit"
x = txt.count("apple",10,24)
print(x) #输出结果:1

4. split( ):在指定的分隔符处拆分字符串,并返回列表。默认分隔符是空白

string.split(separator,max)    #separator:可选,规定分割字符时要使用的分隔符,默认值为空白字符。max:可选,规定要执行的拆分数,默认值为-1,即“所有出现次数”。

#!/usr/bin/python
#将字符串拆分为最多2个项目的列表
txt = "apple#banana#cherry#orange"
x = txt.split("#",1) #将max参数设置为1,将返回包含2个元素的列表
print(x) #输出结果:['apple', 'banana#cherry#orange']

 rsplit( ):在指定的分隔符处拆分字符串,并返回列表。默认分隔符是空白

string.rsplit(separator, max)   #separator:可选,规定分割字符串时要使用的分隔符,默认值为空白。max:可选,指定要执行的拆分数,默认值为-1,即“所有出现次数”

#!/usr/bin/python
#将字符串拆分为最多2个项目的列表
txt = "apple,banana,cherry"
x = txt.rsplit(",",1) #将max参数设置为1,将返回包含2个元素的列表
print(x) #输出结果:['apple,banana', 'cherry']

5. partition( ):搜索指定的字符串,并将该字符串拆分为包含三个元素的元组。第一个元素包含指定字符串之前的部分;第二个元素包含指定的字符串;第三个元素包含字符串后面的部分

string.partiton(value)    #value:必需,要检索的字符串

#!/usr/bin/python
#如果找不到指定的值,则partition方法将返回一个元组,其中包含:1-整个字符串,2-空字符串,3-空字符串
txt = "I could eat bananas all day"
x1 = txt.partition("bananas")
x2 = txt.partition("apples")
print(x1,x2) #输出结果:('I could eat ', 'bananas', ' all day') ('I could eat bananas all day', '', '')

 rpartiton( ):搜索指定字符串的最后一次出现,并将该字符串拆分为包含三个元素的元组。第一个元素包含指定字符串之前的部分;第二个元素包含指定的字符串;第三个元素包含字符串之后的部分。

string.rpartiton(value)    #value:必需,要检索的字符串

#!/usr/bin/python
#如果找不到指定的值,则partition方法将返回一个元组,其中包含:1-整个字符串,2-空字符串,3-空字符串
txt = "I could eat bananas all day, bananas are my favorite fruit"
x1 = txt.rpartition("bananas")
x2 = txt.rpartition("apples")
print(x1,x2) #输出结果:('I could eat bananas all day, ', 'bananas', ' are my favorite fruit') ('', '', 'I could eat bananas all day, bananas are my favorite fruit')

6. join( ):获取可迭代对象中的所有项目,并将它们连接为一个字符串。必须将字符串指定为分隔符。

string.join(iterable)    #iterable: 必需,所有返回值均为字符串的任何可迭代对象

#!/usr/bin/python
#使用单词“TEST”作为分隔符,将字典中的所有项目连接成一个字符串
myDict = {"name":"Bill","country":"USA"}
mySeparator = "TEST"
x = mySeparator.join(myDict)
print(x) #在使用字典作为迭代器时,返回的值是键,而不是值。
#输出结果:nameTESTcountry

7. lower( ):返回一个字符串,其中所有字符均为小写,符号和数字被忽略。

string.lower( )

#!/usr/bin/python
#小写字符串
txt = "Hello my FRIENDS"
x = txt.lower()
print(x) #输出结果:hello my friends

 upper( ):返回一个字符串,其中所有字符均为大写,符号和数字被忽略

string.upper( )

#!/usr/bin/python
#大写字符串
txt = "Hello my friends"
x = txt.upper()
print(x) #输出结果:HELLO MY FRIENDS

 capitalize( ):返回一个字符串,其中第一个字符为大写

string.capitalize( ) 

#!/usr/bin/python
#大写这句话第一个字母
txt = "hello, and welcome to my world"
x = txt.capitalize()
print(x) #输出结果:Hello, and welcome to my world

 title( ):返回一个字符串,其中每个单词的第一个字符均为大写,比如标题

string.title ( ) 

#!/usr/bin/python
#将每个单词的首字母大写
txt = "welcome to my 2nd world"
x = txt.title()
print(x) #输出结果:Welcome To My 2Nd World

 swapcase( ):返回一个字符串,其中所有大写字母均成为小写字母,反之亦然。

string.swapcase( )

#!/usr/bin/python
#将小写字母大写,大写字母小写
txt = "Welcome To my 2nD world"
x = txt.swapcase()
print(x) #输出结果:wELCOME tO MY 2Nd WORLD

8. replace( ):用另一个指定的短语替换一个指定的短语。如未指定其他内容,则将替换所有出现的指定短语

string.replace(oldvalue, newvalue, count)   #oldvalue:必需,要检索的字符串;newvalue:必需,替换旧值得字符串;count:可选,数字,指定要替换的旧值出现次数,默认为所有的出现。

#!/usr/bin/python
#替换前两次出现的单词“one”
txt = "one one was a race horse, two two was one too"
x = txt.replace("one","three",2)
print(x) #输出结果:three three was a race horse, two two was one too

9. strip( ):删除任何前导(开头的空格)和尾随(结尾的空格)字符(空格是要删除的默认前导字符)(删除字符串前导空格)

string.strip(characters)    #characters:可选,一组字符,要删除的前导/尾随的字符的字符

#!/usr/bin/python
#删除前导和尾随字符
txt = ",,,,rrttgg....banana...rrr"
x = txt.strip(",.grt")
print(x) #输出结果:banana

 rstrip ( ):删除所有结尾字符(字符串末尾的字符),空格是删除的默认结尾字符(删除字符串结尾空格)

string.rstrip(characters)     #characters:可选,一组作为结尾字符要删除的字符

#!/usr/bin/python
#删除结尾字符
txt = "banana,,,,ssaaww...."
x = txt.rstrip(",.asw")
print(x) #输出结果:banan

 lstrip( ):删除所有前导字符(空格是要删除的默认前导字符)

string.lstrip(characters)    #characters:可选,一组作为前导字符要删除的字符

#!/usr/bin/python
#删除前导字符
txt = ",,,,,ssaaww....banana"
x = txt.lstrip(",.swa")
print(x) #输出结果:banana

10. center( ):将使用指定的字符(默认为空格)作为填充字符使字符串居中对齐

string.center(length,character)       #length:必需,所返回字符串的长度;character:可选,填补两侧缺失空间的字符,默认是“”(空格)。

#!/usr/bin/python
#使用字母“o"作为填充字符
txt= "banana"
x = txt.center(20,"o")
print(x) #输出结果:ooooooobananaooooooo

11. casefold( ):返回一个字符串,其中所有字符均为小写。casefold方法比lower方法强大,可以将更多字符串转换为小写字母。

string.casefold( )     

#!/usr/bin/python
#将字符串设为小写
txt= "Hello, And Welcome To My World!"
x = txt.casefold()
print(x) #输出结果:hello, and welcome to my world!

12. endswitch( ):如果字符串以指定值结尾,则返回True,否则返回False。

string.endswith(value, start,end)   #value:必需,检查字符串是否以之结尾的值;start:可选,整数,规定从哪个位置开始检索;end:可选,整数,规定从哪个位置结束检索。

#!/usr/bin/python
#检查位置5至11是否以短语“my world.”结尾
txt= "Hello, welcome to my world."
x = txt.endswith("my world.",5,11)
print(x) #输出结果:False

13. expandtabs( ):将制表符的大小设置为指定的空格数

string.expandtabs(tabsize)    #tabsize:可选,规定制表符大小的数字,默认的tabsize为8.

#!/usr/bin/python
#将制表符大小设置为2个空格
txt= "H\te\tl\tl\to"
x = txt.expandtabs(2)
print(x) #输出结果:H e l l o

14. format( ):格式化指定的值,并将其插入字符的占位符内。

string.format(value1,value2...)    #value1,value2...:必需,一个或多个应该格式化并插入字符串的值,值可以是数字,用于指定要删除的元素的位置。这些值可以用逗号分隔的值列表、键 = 值列表, 或两者的组合。这些值可以是任何数据类型。

#!/usr/bin/python
#将价格插入占位符内,价格应为定点,两位十进制格式
txt = "For only {price:2f} dollars!"
print(txt.format(price = 49)) #输出结果:For only 49.000000 dollars!

15. 合并(拼接)字符串:用+ 号来合并字符串

first_name = 'wang'
last_name = 'crystal'
full_name = first_name + " "+last_name
message = "Hello," + full_name .title() +"!"
print(message) #输出结果:Hello,Wang Crystal!

16. 使用制表符或换行符来添加空白:空白泛指任何非打印字符,如空格、制表符(\t)和换行符(\n)。

print("Language:\n\tPython\n\tJavaScript")

#结果输出
Language:
Python
JavaScript

17. 删除空白

备注:部分内容摘录自:https://www.w3school.com.cn/python/

上一篇:使用python来操作redis用法详解


下一篇:spring 自动扫描、注册的类是否可以定义构造函数