zoukankan      html  css  js  c++  java
  • 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	e	l	l	o"
    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. 使用制表符或换行符来添加空白:空白泛指任何非打印字符,如空格、制表符( )和换行符( )。

    print("Language:
    	Python
    	JavaScript")
    
    #结果输出
    Language:
    	Python
    	JavaScript
    

    17. 删除空白

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

  • 相关阅读:
    特征选择(1)
    sklearn.preprocessing.OneHotEncoder
    朴素贝叶斯算法
    机器学习中 生成式模型 VS 判别式模型
    PHP-FPM 多进程模型
    PHP动态模式和静态模式区别
    Nginx的异步非阻塞
    php并发控制 , 乐观锁
    什么是乐观锁,什么是悲观锁
    redis集群和哨兵的区别
  • 原文地址:https://www.cnblogs.com/heiqiuxixi/p/12292393.html
Copyright © 2011-2022 走看看