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/