字符串常用方法

本文详细介绍了Python中字符串的各种操作方法,包括大小写转换、查找、替换、切割等实用技巧,并提供了丰富的示例帮助读者掌握字符串处理的基本技能。
  1. str.title() - 返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写

    str_ = 'this is a girl'
    print(str_.title())  # This Is A Girl
    
  2. str.upper() - 将字符串中的小写字母转为大写字母

     str_ = 'fffffff 66 pp'
     print(str_.lower())   # FFFFFFF 66 PP   
    
  3. str.lower() - 将字符串中的大写的字符转换为小写

    str_ = 'FFFFFFF 66 PP'
    print(str_.lower())   # fffffff 66 pp
    
  4. str.capitalize() - 将字符串的第一个字母变成大写,其他字母变小写

    str_ = 'acvve'
    print(str_.capitalize())   # Acvve
    
  5. str.swapcase() - 对字符串的大小写字母进行转换

    str_ = 'acvveB'
    print(str_.capitalize())   # Acvveb
    
  6. str.center(width, fillchar) - 返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。
    width – 字符串的总宽度
    fillchar – 填充字符

    str_ = 'fewfwe'
    print(str_.center(15, '*'))   # *****fewfwe****
    
  7. str.count(sub, start= 0,end=len(string)) - 用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
    sub – 搜索的子字符串
    start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0
    end – 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置

    str_ = 'regerregege'
    print(str_.count('r'))    # 3
    print(str_.count('r', 2, 10))   # 2
    
  8. str.expandtabs(tabsize=8) - 将tab键转换为空格,tabsize默认为8,如果\t前面的字符串不足8,则添加空格和\t前面的字符串和为8,如果大于8个则添加为8的倍数个空格

    str = "runoob\t12345\tabc"
    print(str)                  # runoob	12345	abc
    print(str.expandtabs())     # runoob	12345	abc
    print(str.expandtabs(2))    # runoob  12345 abc
    print(str.expandtabs(3))    # runoob   12345 abc
    print(str.expandtabs(5))    # runoob    12345     abc
    
  1. str.find(str, beg=0, end=len(string)) - 在指定范围内查找字符串,默认为字符串起始到结尾,如果指定范围内包含该字符串,则返回该范围内整个字符串的第一个索引值,没有的话返回-1
    str – 指定检索的字符串
    beg – 开始索引,默认为0。
    end – 结束索引,默认为字符串的长度

    str_ = 'fwefwe000vsdvv'
    print(str_.find('0', 6, 10))   # 6
    
  2. str.rfind(str, beg=0, end=len(string)) - 和find函数一样,但是是从右边开始查找

    str_ = 'fwefwe000vsdvv'
    print(str_.rfind('0'))   # 8
    print(str_.find('0'))   # 6
    
  3. str.index(str, beg=0, end=len(string)) - 与find功能一样,只是范围内没有查找值的话会报错,而不是返回-1

    str_ = 'fwefwe000vsdvv'
    print(str_.index('5', 6, 10))  # 报错
    
  4. str.rindex(str, beg=0, end=len(string)) - 和index函数一样,但是是从右边开始查找

    str1 = "this is really a string example....wow!!!"
    str2 = "is"
    print(str1.index('is'))  # 2
    print(str1.rindex('is'))  # 5
    
  5. str.isalnum() - 检测字符串是否由字母或数字组成。

    str_ = 'fwefwev++sdvv'
    print(str_.isalnum())   # False
    str_ = 'fwefwe000vsdvv'
    print(str_.isalnum())   # True
    
  6. bstr.isalpha() - 检测字符串是否只由字母或文字组成

    str_ = 'fwefwevsdvvf分为放'
    print(str_.isalpha())    # True
    
  7. str.isdigit() - 检测字符串是否只由数字组成

    str_ = '525qwe'
    print(str_.isdigit())   # False
    str_ = '525'
    print(str_.isdigit())   # True
    
  8. str.islower() - 检测字符串内的字母是否由小写字母组成

    str_ = '525+q电器外壳wEe'
    print(str_.islower())    # False
    
  9. str.isnumeric() - 检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字

    str_ = '15145一'
    print(str_.isnumeric())   # True
    
  10. str.isspace() - 检测字符串是否只由空白字符组成。

    str_ = '    '
    print(str_.isspace())     # True
    
  11. str.istitle() - 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写

    str_ = 'Io Pl Oj'
    print(str_.istitle())   # True
    
  12. str.isupper() - 检测字符串中所有的字母是否都为大写

    str_ = 'FFF555'
    print(str_.isupper())   # True
    str_ = 'FFF555f'
    print(str_.isupper())   # False
    
  13. str.join() - 将序列中的元素以指定的字符连接生成一个新的字符串

    str_ = 'dddd'
    print('+'.join(str_))  # d+d+d+d
    
  14. center\rjust\ljust\zfill
    字符串1.center(长度, 填充字符) - 将字符串1转换成指定长度的新字符串,不够的用指定字符填充,原字符串居中显示
    字符串1.rjust(长度, 填充字符) - 将字符串1转换成指定长度的新字符串,不够的用指定字符填充,原字符串居右显示
    字符串1.ljust(长度, 填充字符) - 将字符串1转换成指定长度的新字符串,不够的用指定字符填充,原字符串居左显示
    字符串1.zfill(长度) == 字符串1.rjust(长度, ‘0’)

    str_ = 'abc'
    print(str_.center(9, '0'))      # 000abc000
    print(str_.center(8, 'x'))      # xxabcxxx
    print(str_.rjust(9, '0'))       # 000000abc
    print(str_.ljust(9, '0'))       # abc000000
    
  15. max(str)/min(str) - 返回字符串中Unicode值最大的值

    str_ = '2854'
    print(max(str_))   # 8
    str_ = 'abcefg'
    print(min(str_))    # g
    
  16. str.replace(old, new, max) - 把字符串中的 old(旧字符串)全部替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次,
    old – 将被替换的子字符串。
    new – 新字符串,用于替换old子字符串。
    max – 可选字符串, 替换不超过 max 次

    str_ = 'that is me, that is you, it is intresting'
    print(str_.replace('is', 'are'))    # that are me, that are you, it are intresting
    print(str_.replace('is', 'are', 2))  # that are me, that are you, it is intresting
    
  17. 字符串1.split(字符串2) - 将字符串1中所有的字符串2作为切割点对字符串1进行切割
    字符串1.split(字符串2, N) - 最多切N次
    注意:如果切割点怎么分布,切完后小字符串的个数都是切割点的数量加1

    message = 'abcmnabc123abcxyzabcabcoopabc'
    print(message.split('abc'))     # ['', 'mn', '123', 'xyz', '', 'oop', '']
    print(message.split('abc', 1))      # ['', 'mnabc123abcxyzabcabcoopabc']
    
  18. str.splitlines([keepends]) - 在输出结果里是否去掉换行符(’\r’, ‘\r\n’, \n’),keepends默认为 False,不包含换行符,如果为 True,则保留换行符。

    str_ = 'fewfew\ngr\rdfef\n'
    print(str_.splitlines())   # ['fewfew', 'gr', 'dfef']
    print(str_.splitlines(True))  # ['fewfew\n', 'gr\r', 'dfef\n']
    
  19. str.startswith(substr, beg=0,end=len(string)) - 用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查

    str_ = 'abcdeee'
    print(str_.startswith('a'))  # True
    print(str_.startswith('a', 1))   # False
    
  20. str.endswith(suffix, start, end) - 用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置
    suffix – 该参数可以是一个字符串或者是一个元素
    start – 字符串中的开始位置。
    end – 字符中结束位置。

    str_ = 'fewfe666'
    print(str_.endswith('66'))  # True 默认从开头到结尾
    print(str_.endswith('66', 5))  # True 从5开始
    
  21. strip/rstrip/lstrip
    strip - 同时去掉字符串两边的所有的空白
    rstrip - 去掉字符串右边的所有空白
    lstrip - 去掉字符串左边的所有空白

    str2 = '\t    abc 123   '
    print(str2)             # 	    abc 123
    print(str2.strip())     # abc 123
    print(str2.lstrip())    # abc 123
    print(str2.rstrip())    # 	    abc 123
    
  22. str.isdecimal() - 查字符串是否只包含十进制字符。这种方法只存在于unicode对象

    str_ = '28512'
    print(str_.isdecimal())   # True
    str_ = 'pf652'
    print(str_.isdecimal())   # False
    

31)eval(字符串) - 去掉字符最外面的引号,获取数据(如果去掉引号后不是一个数据,就计算表达式的结果)

 abc = 200
print(eval('abc'))   # 200

a = b = 10
print(eval('a+b'))    # 20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值