Loading

Python字符串的常用方法

Python中凡是用引号引起来的数据都称之为字符串类型

  • 组成字符串的每个元素称之为字符,将这些字符连接起来,再用引号包含起来的就是字符串

字符串的操作:

  • 索引:

    • 组成字符串的字符从左至右,依次排列,按顺序编号为:0,1,2,3。。。
    • 从右至左依次为:-1,-2,-3。。。
  • 切片:

    • 通过索引截取字符串的一段,形成新的字符串
      str2 = str1[起始编号:结束编号:步长]

    • 起始编号和结束编号若为0则可省略不写

      注:切片顾头不顾尾
  • 步长:指定切片截取的跨度

    • 如为2则表示隔一个字符取值
    • 若要使取值反向排列,需使用反向步长,如-2

#例: 
s = '123456'
# 通过对s切片形成新的字符串s1,s1 = '654'
s1 = s[:-4:-1]

upper():

  • 将字母都替换为大写,中文和数字不变

lower():

  • 将字母都替换为小写
    • upper()不会对源字符串产生操作,都是产生一个新的字符串

#例:
s = '1a2b3C4D'
s1 = s.upper()
print(s1)
# 或者直接打印
print(s.upper())
print(s.lower())

startswith():

  • 判断是否以某字符串开头

    endswith():

  • 判断是否以某字符串结尾
    可与切片配合使用

#例:
s = 'liBai'
print(s.startswith('l')) #返回值True
print(s.startswith('liBAI')) #返回值True

replace():

  • 替换指定字符串
    • 语法:replace(old,new,count)
#例:
msg = 'libai 是位诗人,libai很有才华,libai是诗仙'
msg1 = msg.replace('libai',"胖虎") #默认全部替换
msg2 = msg.replace('libai',"胖虎",2)  #指定替换次数
print(msg1)
# 胖虎 是位诗人,胖虎很有才华,胖虎是诗仙
print(msg2)
# 胖虎 是位诗人,胖虎很有才华,libai是诗仙

strip():

  • 去除两端指定的字符串,默认空白字符包括:\t,\n,空格

    #例:去除两端空白
    s = '   libai\t胖虎\t'
    s1 = s.strip()
    print(s1)
    # libai	胖虎
    
    
# 去除指定的字符串
s = '李李李李李白李苏轼轼轼轼'
s1 = s.strip('李轼')
print(s1) 
#输出值为'白李苏',strip只能删除两端的字符,不能删除中间部分的字符

split():

  • 分隔,拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表,默认以空格分隔

  • n个分隔符会返回n+1个列表元素。

  • 分隔符在字符串开头或结尾,返回的列表会产生空元素

    s = '李白 苏轼 杜甫'
    print(s.split())  # 默认以空格分隔
    s = '.李白. 苏轼.杜甫'
    print(s.split('.'))  #也可以指定分隔符
    #  ['','李白','苏轼','杜甫']  
    

join():

  • 连接字符串数组。将字符串、元组和列表中的元素以指定的分隔符连接生成一个新的字符串
  • 语法:'分隔符'.join(要连接的元素、字符串、元组、字典)

s = ['','李白','苏轼','杜甫']
print('.'.join(s))
# ' .李白.苏轼.杜甫'

count():

  • 统计字符串里某个字符出现的次数。可选参数在字符串搜索的开始与结束位置。

  • 语法:str.count('char',start,end)或str.count('char') --> int 返回整数

    s = '李李李李李白苏轼轼轼轼'
    print(s.count('李'))
    # 5
    

format():

  • 格式化输出

is系列:

  • isalnum():判断字符串由字母或数字组成

  • isalpha():判断字符串只由字母组成

    # 中文汉字会被isalpha判断为True,可以转换编码方式:
    s = '汉字'    
    s.encode( 'UTF-8' ).isalpha()
    # False
    
  • isdecimal():判断字符串只由十进制数字组成

  • isdecimal():判断字符串只由十进制数字组成

len():

  • 获取可迭代对象的元素总个数

成员运算:

  • 判断字符是否在字符串中
    • in 若在,返回True
    • not in 若不在,返回True

例:s = '李白苏轼杜甫'
print('白苏' in s)
# True
print('李苏' nor in s)     
#字符串‘李苏’为一个整体,并不包含在s当中,所以返回为True

posted @ 2020-07-29 22:38  吃了好多肉  阅读(192)  评论(0编辑  收藏  举报