Python 字符串操作常用知识点

Python 字符串操作常用知识点

  1. 引切片:通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。
    a = 'ABCDEFGHIJK'
    print(a[0:3])  		# print(a[:3]) 从开头开始取0可以默认不写
    print(a[2:5])		# 从第三个字符开始取,取第到5个
    print(a[:]) 		# 默认到最后
    print(a[:-1]) 		# -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素
    print(a[:5:2]) 		# 加步长
    print(a[-1:-5:-2]) 	# 反向加步长
    print(a[::-1])		# 反向步长的经典应用,将整个字符串取反。
    
  2. upper()和lower():将字符串全部大写或全部小写,经常用于登录验证码。
  3. startswith()和endswith():判断一个字符串的开头和结尾字符是否符合指定内容,返回值为布尔值。可结合切片功能使用指定部分内容的开始或结束位置是否符合指定内容。
    startswith(substr, beg=0,end=len(string))
    # 是否以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
    
  4. replace()方法:替换字符串中指定内容,可以规定替换次数。
    str.replace(old, new[, max])
    # 返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。默认全部替换。
    
  5. strip()方法:替换字符串中所有的空白位置。应用:可以去除指定字符,仅限首尾。
    s='wotr中r国wodrt'
    print(s.strip('wotrd'))		# 从前往后,从后往前,中间的去不掉
    >>> 中r国
    
  6. *** split()方法:默认按空格将字符串转换成列表返回,也可按指定分隔符转换,指定转换几个成员。
    split(str, num)
    # 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
    
    s1 = '::姓名:性别:年龄:爱好'
    s2=':'
    print(s1.split(s2))
    >>>['', '', '姓名', '性别', '年龄', '爱好']
    
  7. *** join()方法:用指定符号连接,返回值为字符串类型
    语法:join(self,interable)		# interable:可迭代的,可重复的。
    s1 = 'amwkvi'
    s2='+'.join(s1)
    print(s2)
    >>>a+m+w+k+v+i
    s3=['中国','亚洲','地球']		# 前提:列表里的元素必须都是str类型
    print('-->'.join(s3))
    >>>中国-->亚洲-->地球
    
  8. count()方法:统计某个字符串中指定字符出现的次数,返回值为int。
    s1='sdlkghopqhndgklasdhgphqldnfa;sdf'
    print(s1.count('h'))
    >>>4
    
  9. format()方法:格式化输出
    • 第一种用法:相当于占位符
      print('我叫{},今年{}岁,性别:{}。'.format('amwkvi',27,'男'))
      
    • 第二种用法:重复调用格式化输出列表中变量或值
      print('我叫{0},今年{1}岁,性别:{2}。我的姓名是:{0}'.format('amwkvi',27,'男'))
      # 重复调用格式化输出列表中变量或值
      
    • 第三种用法:键值对,无序
      print('我叫{name},今年{age}岁,性别:{sex}。'.format(age=27,sex='男',name='amwkvi'))
      
  10. is 系列:判断对像是不是由指定类型组成,返回值为bool。
    s1 = 'amwkvi558'
    print(s1.isalnum())     # 判断字符串是否全都由字母和数字组成
    print(s1.isalpha())     # 判断字符串是否全都由字母组成
    print(s1.isascii())     # 判断字符串是否全都由ASCII码组成
    print(s1.isdecimal())   # 判断字符串是否全都由十进制组成
    
    判断字符串是否全部都由十进制组成应用:
    s1 = input('请输入金额:')
    if s1.isdecimal():					# 直接就可以判断用户输入内容是否全数字,不至于报错。
        print(int(s1))
    else:
        print('输入有误,请重新输入。')
    
原文地址:https://www.cnblogs.com/amwkvi/p/13098087.html