精华内容
下载资源
问答
  • Python字符串函数

    千次阅读 2018-01-03 15:26:40
    字符串函数一、字符串操作函数1. upper 2. lower 3. title 4. swapcase 5. capitalize 6. count('x') 7. len(string) 8. find 9. index 10. center 11. ljust 12. rjust

    字符串函数

    一、字符串操作函数
    1.      upper
    2.      lower
    3.      title
    4.      swapcase
    5.      capitalize
    6.      count('x')
    7.      len(string)
    8.      find
    9.      index
    10.     center
    11.     ljust
    12.     rjust
    13.     zfill
    14.     strip
    15.     rstrip
    16.     lstrip
    17.     repalce
    18.     join
    19.     split
    20.     splitlines 
    21.     eval
    
    二、字符串判断函数
    1.      startswith
    2.      endswith
    3.      isupper
    4.      islower
    5.      isalnum
    6.      isalpha
    7.      isdigit
    8.      isnumeric
    9.      isdecimal
    10.     isspace
    11.     istitle
    
    三、str模块函数
    1.      映射表 (str不用导入,直接用)
            1.  str.maketrans
            2.  translate
    
    四、string模块

    import string

    1.  string.whitespace
    2.  string.ascii_letters
    3.  string.ascii_uppercase
    4.  string.ascii_lowercase
    5.  string.digits
    6.  string.octdigits
    7.  string.hexdigits
    8.  string.printable
    9.  string.punctuation
    

    一、字符串操作函数

    eval(expression[,globals[,locals]])

    功能:将字符串当成有效的表达式来求值,并返回结果
    
    参数:
        expression: -- 字符串类型的表达式
        globals: --变量作用域,全局命名空间,如果被提供,则必须是一个字典**对象**
        locals: --变量作用域,局部命名空间,如果被提供,可以是任何映射**对象**
    返回值:
        表达式的结果
    

    expression字符串的使用

    string1 = "[1,'213',{12:'sdf'},'2324']"
    result  = eval(string1)
    print(result,type(result))
    [1, '213', {12: 'sdf'}, '2324'] <class 'list'>
    

    globals参数的使用

    globals1 = {'ac':1,'b':2}
    #注意字典里的变量a和b都是字符串!
    string2 = 'ac+b'
    result1 = eval(string2,globals1)
    print(result1,type(result1))
    3 <class 'int'>
    

    locals参数的使用

    globals3 = {'var1':23,'var2':34}
    locals3 = {'t':878,'u':97}
    string3 = 'var1-var2 +t/u'
    results = eval(string3,globals3,locals3)
    print(results,type(results))
    #自我感觉globals,locals就是引入变量的作用域
    -1.9484536082474229 <class 'float'>
    

    upper()

        功能:将字符串小写字母变为大写
        返回值:大写字符串
    
    var1 = 'i dream my painting,and then i paint my dream.'
    result = var1.upper()
    ###注意是在字符串后面添加upper()函数,不是在upper()函数里面添加字符串。
    print(result)
    I DREAM MY PAINTING,AND THEN I PAINT MY DREAM.
    

    lower()

          功能:将字符串大写字母变为小写
          返回值:小写字符串
    
    str1 = 'WHEN I WAS YOUNG,NOSTALGIA WAS A TINY,TINY STAMP'
    result = str1.lower()
    print(result)
    when i was young,nostalgia was a tiny,tiny stamp
    

    title()

        功能:将字符串语句里的单词开头字母大写
        返回值:单词开头字母大写的字符串
    
    str1 = "Dont't you feel any compunction?"
    result = str1.title()
    print(result)
    Dont'T You Feel Any Compunction?
    

    swapcase()

        功能:将字符串大小写互换
        返回值:大小写互换之后字符串
    
    str1 = "Life's like a movie,write your own ending,Keep believing,keep pretending."
    results = str1.swapcase()
    print(results)
    lIFE'S LIKE A MOVIE,WRITE YOUR OWN ENDING,kEEP BELIEVING,KEEP PRETENDING.
    

    capitalize

        功能:将段落的一个字母大写
    
    print("love doesn't end,just because we dont't see each other.".capitalize())
    Love doesn't end,just because we dont't see each other.
    

    count()

        功能:统计某个字符或字符串出现的次数
    
    str1 = 'sdfsdgsdgsdgdsgdsgd'
    print(str1.count('s'))
    6
    

    len(string)

        功能:统计字符串的长度   
    
    str1 = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
    print(len(str1))
    #注意字符串放在len()函数里进行计算。
    38
    

    find(‘x’)

        功能:查找某个字符或字符串的索引
        返回值:查询到返回索引值 ,查询不到返回-1.不会报错。
    
    str1 = 'abcdefghijhlmnopqrstuvwxyz'
    result = str1.find('d')
    print(result)
    result1 = str1.find('4')
    print(result1)
    3
    -1
    

    index(‘x’)

        功能:查找某个字符或者字符串的索引
        返回值:查询到返回值,查询不到报错。find()查询不到不报错。
    
    str1 = 'abcdefghijhlmnopqrstuvwxyz'
    result = str1.index('d')
    print(result)
    result1 = str1.index('4')
    print(result1)
    3
    
    
    
    ---------------------------------------------------------------------------
    
    ValueError                                Traceback (most recent call last)
    
    <ipython-input-33-27f617d93b27> in <module>()
          2 result = str1.index('d')
          3 print(result)
    ----> 4 result1 = str1.index('4')
          5 print(result1)
    
    
    ValueError: substring not found
    

    center(未来字符宽度,空白填充字符)

        功能:指定字符串长度,并居中,空余指定长度超过字符长度时,可以指定用某个字符代替
        参数:center(未来字符宽度,空白填充字符),字符宽度必须指定,空白填充字符没有时,默认用空格代替
    
    str1 = '   sefs  dsfd gs dg d gsdg    dsgsdgsdg'
    result = str1.center(100,'*')
    result1 = str1.center(100)
    print(result)
    print(result1)
    ******************************   sefs  dsfd gs dg d gsdg    dsgsdgsdg*******************************
                                     sefs  dsfd gs dg d gsdg    dsgsdgsdg                               
    

    ljust(未来字符宽度,空白填充字符)

        功能:向左对齐
        参数:ljust(未来字符宽度,空白填充字符),字符宽度必须指定,空白填充字符没有时,默认用空格代替
    
    str1 = 'sdfjds fsdklskdg iid gskjdgd doijg dsgsd g   dg'
    result = str1.ljust(100,'$')
    print(result)
    sdfjds fsdklskdg iid gskjdgd doijg dsgsd g   dg$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    

    rjust(未来字符宽度,空白填充字符)

        功能:向右对齐
        参数:rjust(未来字符宽度,空白填充字符),字符宽度必须指定,空白填充字符没有时,默认用空格代替
    
    str1 = 'sdsglsjdgljsdgjosd jgsd'
    result = str1.rjust(50)
    print(result)
                               sdsglsjdgljsdgjosd jgsd
    

    zfill(未来字符宽度)

        功能:用0填充空白位置
    
    str1 = 'sfsdjflsdjg dsg'
    print(str1.zfill(100))
    0000000000000000000000000000000000000000000000000000000000000000000000000000000000000sfsdjflsdjg dsg
    

    strip() rstrip() lstrip()

        功能:strip()---去除字符串左右两侧的空白
              rstrip()---去除字符串右侧的空白
              lstrip()---去除字符串左侧的空白
    
    str1 = '                        dsgdgs sdgsd                       '
    result = str1.strip()
    print(result)
    restlt1 = str1.rstrip()
    print(result1)
    result2 = str1.lstrip()
    print(result2)
    dsgdgs sdgsd
                                     sefs  dsfd gs dg d gsdg    dsgsdgsdg                               
    dsgdgs sdgsd                       
    

    replace()

        功能:使用指定字符或字符串,替换原字符串中的字符或字符串/
        参数:replace(old,new),old:被替换的字符串,new:替换字符串。
    
    str1 = 'abcdefghrjklmnopqistuvwxyz'
    result = str1.replace('a','1')
    print(result)
    1bcdefghrjklmnopqistuvwxyz
    

    join()

        功能:使用指定字符或字符串,拼接由字符串组成的数组,返回字符串
    
    list1 = ['sdgsdg','sxdgd','lioncj']
    result = '**'.join(list1)
    print(result)
    sdgsdg**sxdgd**lioncj
    
    dict1 = {'sdg':'sdgd','sdgl':'lijog','oigon':'oidn'}
    result = '&&'.join(dict1)
    print(result)
    sdg&&sdgl&&oigon
    
    set1 = {'sdjg','dgsdg','pojgo'}
    result = '%%'.join(set1)
    print(result)
    sdjg%%dgsdg%%pojgo
    

    split()

        功能:使用指定字符或字符串将原字符串切割
        返回值:由切割后的字符串组成的列表。
    
    str1 = 'sligne234in kdghu98 ifdsighdsalgajdngdglkajdnghasdgahds'
    result = str1.split('s')
    print(result)
    str2 = 'sdlgaaingdksgoiaalonlknaaoonmgdoaaaoidngfs'
    result1 = str2.split('aa')
    print(result1)
    ['', 'ligne234in kdghu98 ifd', 'ighd', 'algajdngdglkajdngha', 'dgahd', '']
    ['sdlg', 'ingdksgoi', 'lonlkn', 'oonmgdo', 'aoidngfs']
    

    splitlines([keepends])

        功能:将字符串按照行分割
        参数:keepends -- 在输出结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
        返回值:返回一个包含各行作为元素的列表
        ####对文件读取后处理数据很有用。
    
    str1 = 'skdjigaaiogjsna\noaooignaao\r\ngiriii\rladiiaaijngslkdnjaasdifnmd'
    result= str1.splitlines()
    print(result)
    result = str1.splitlines(True)
    print(result)
    ['skdjigaaiogjsna', 'oaooignaao', 'giriii', 'ladiiaaijngslkdnjaasdifnmd']
    ['skdjigaaiogjsna\n', 'oaooignaao\r\n', 'giriii\r', 'ladiiaaijngslkdnjaasdifnmd']
    

    二、字符串判断函数

    startswith()

        功能:判断字符串是否由指定字符开头
    
    aa = 'abdcda'
    print(aa.startswith('a'))
    True
    

    endswith()

        功能:判断字符串是否由指定字符结尾
    
    bb = 'sdhguidgnuh'
    print(bb.endswith('h'))
    True
    

    isupper() \ islower()

        功能:判断字符串是否都是大写或者小写
    
    cc = 'ldigndssdf'
    print(cc.isupper())
    print(cc.islower())
    dd = 'IDUGFSK'
    print(dd.isupper())
    print(dd.islower())
    False
    True
    True
    False
    

    isalnum()

      功能:判断字符串是否都是由数字、字母或汉字构成的
    
    asd = 'sduidenhgfsidgiideg凯斯厄了848487942'
    print(asd.isalnum())
    ss = '29438yw984eyth'
    print(ss.isalnum())
    True
    True
    

    isalpha()

        功能:判断字符串是否全是由字母或汉字构成
    
    dd = 'sdhugiksdinbgnsg8987.。--*&…………¥¥#'
    print(dd.isalpha())
    ee = 'sieghjdhgisdh'
    print(ee.isalpha())
    hh = 'isdnginside是'
    print(hh.isalpha())
    False
    True
    True
    

    isdigit() \ isnumeric()

        功能:判断字符串是否都是由数字构成
    
    uu = '284755'
    print(uu.isdigit())
    print(uu.isnumeric())
    uu1 = 'iudg98766656565'
    print(uu1.isdigit())
    print(uu1.isnumeric())
    True
    True
    False
    False
    

    isdecimal()

        功能:检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
        注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。
    
    aa = u'25356457385'
    print(aa.isdecimal())
    bb = '7454866'
    print(bb.isdecimal())
    True
    True
    

    isspace()

        功能:判断字符串是否都是由空白字符构成,如空格,回车。
    
    aa = '     '
    print(aa.isspace())
    True
    

    istitle()

        功能:如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.
    
    str1 = 'Ading SDGd Eindgf EG'
    print(str1.istitle())
    str1 = 'Ading Edinfg Dinfd'
    print(str1.istitle())
    False
    True
    

    str模块函数

    映射表(str不用导入,直接用)

    str.maketrans()

                str也可以用''代替。
                功能:制作映射表
                参数:一个参数时,必须为字典格式;
                      两个参数时:第一个--要被替换的字符,第二个--替换字符;
                      三个参数时:第三个参数表示要删除的字符。
    

    translate

                功能:应用映射表
        理解:str.maketrans()只能用于单个字符的替换操作,优势是可以一次替换多个字符。(只能替换单个字符)
                而replace()方法一次只能替换一种字符或字符串,优势是可以替换长字符串(长度大于2的)
    
    table = str.maketrans('abcdefg','1234567')
    str1 = 'seisnadksndadfisnfghgosndfgasiesdkfadewefr'
    result = str1.translate(table)
    print(result)
    s5isn14ksn4146isn67h7osn4671si5s4k6145w56r
    
    table = str.maketrans('abcdefg','1234567','as')
    #第三个参数是要删除的字符
    str1 = 'hhhseisnadksndadfisnfghhhhgosndfgasiesdkfadewefrjjhhj'
    result = str1.translate(table)
    print(result)
    hhh5in4kn446in67hhhh7on467i54k645w56rjjhhj
    
    table1 = ''.maketrans({'a':'111','b':'222','c':'333'})
    #字典格式时,key的长度必须为1.
    str1 = 'lisgaaaigslbbblingsccclsidn'
    result = str1.translate(table1)
    print(result)
    lisg111111111igsl222222222lings333333333lsidn
    

    string 模块相关函数

    string.whitespace

        功能:获取所有的空白字符
    
    import string
    print(string.whitespace)
    
    

    string.ascii_letteres

        功能:获取ascii码中的所有字母表
    
    import string 
    print(string.ascii_letters)
    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    

    string.ascii_uppercase

        功能:获取ascii码中的所有大写字母
    
    import string
    print(string.ascii_uppercase)
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    

    string.ascii_lowercase

        功能:获取ascii码中的所有小写字母
    
    import string
    print(string.ascii_lowercase)
    abcdefghijklmnopqrstuvwxyz
    

    string.digits

        功能:获取ascii码中所有10进制数字字符
    
    import string
    print(string.digits)
    0123456789
    

    string.octdigits

        功能:获取八进制所有数字字符
    
    import string
    print(string.octdigits)
    01234567
    

    string.hexdigits

        功能:获取十六进制的所有数字字符
    
    import string
    print(string.hexdigits)
    0123456789abcdefABCDEF
    

    string.printable

        获取所有可见字符
    
    import string
    print(string.printable)
    0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~    
    
    

    string.punctuation

        功能:获取所有标点符号
    
    import string
    print(string.punctuation)
    !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,958
精华内容 17,183
关键字:

python字符串函数

python 订阅