python学习——Day07

一、字符串的相关方法

一、判断是字母还是数字字符串

str1 = '12345' str2 = 'abcde' str3 = 'abc123' str4 = 'abc123...'

  • isdigit: 判断字符串是不是一个数字字符串,返回True或False
    结果为: True False False False

    print(str1.isdigit(),str2.isdigit(),str3.isdigit(),str4.isdigit())
    
  • isalpha: 判断字符串是不是一个字母字符串,返回True或False
    结果为: False True False False

    print(str1.isalpha(),str2.isalpha(),str3.isalpha(),str4.isalpha())
    
  • isalunm: 判断字符串是否是数字字符串或字母字符串或数字-字母字符串,返回True或False
    结果为: True True True False

    print(str1.isalnum(),str2.isalnum(),str3.isalnum(),str4.isalnum())
    

二、对齐

  • ljust、rjust、center等价于<、>、^(左对齐,右对齐,居中对齐)

结果为:
结果一: ***分隔符****
结果二: 分隔符*******
结果三: *******分隔符
str5 = '分隔符'

print(str5.center(10, '*'))
print(str5.ljust(10,'*'))
print(str5.rjust(10,'*'))
  • startswith \ endswith: 验证字符串首字母或结尾是否符合要求
    tel = '135456789076'

    输出结果为: True False

     print(tel.startswith('135'))
     print(tel.endswith('1111'))
    
  • str(): 构造器语法:将其他数据类型转为字符串

    示例:找出1000范围内的阿姆斯特朗数

    for i in range(1, 1000):
        # print(str(i),type(str(i)))
        lenght = len(str(i))
        numSum = 0
        for j in str(i):
            numSum += int(j) ** lenght
        if numSum == i:
            print(f'{i}是阿姆斯特朗数')
    
  • **split:**切割,将字符串按照指定的符号进行切割,没有被切掉的元素被添加到一个列表中。

    结果: [‘123’, ‘000’]

    str1 = '123*000'
    list1 = str1.split('*')
    print(list1)
    
  • **join(): ** 按照指定的间隔符将容器中的字符串拼接到一起(前提:容器中所有元素必须都是字符串)

    结果:

    123+000
    123000

    str2 = '+'.join(list1)
    print(str2)
    str3 = ''.join(list1)
    print(str3)
    
  • replace:替换,将新字符串替换到旧字符串的位置

    用法: 字符串.replace(oldStr, newStr, 替换次数(不写表示全部))

    结果:

    123000
    123,+00

    str1 = '123,000'
    print(str1.replace(',', ''))
    print(str1.replace('0', '+', 1))
    
  • **strip(): ** 默认将字符串两端中的空白符号去掉(空白符号包括:空格、换行等),也可以指定去除字符串两端的一些符号.

    例子: 手机号身份证号,银行卡号等不需要参与计算得数字符号作为字符串存储

    结果: 135****1110

    tel = '13510101110'
    print(tel.replace(tel[3:7], len(tel[3:7]) * '*'))
    
  • 王者荣耀屏蔽不文明用语原理。

    1. 人为收集不文明用语。“卧槽”、“臣卜木曹”
    2. 根据玩家输入的一句话去识别。
    3. 检测到,进行*替换,将替换完的结果输出
list1 = ['卧槽', '臣卜木曹', '菜鸡', '辣鸡', '垃圾']
content = '卧槽,你可真菜,菜鸡!!!'
for i in list1:
    content = content.replace(i, '*' * len(i))
print(content)
  • count\index\find:

    • count: 判断某个元素在字符串中出现次数。
    • index、rindex
      • index: 从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到报错。
      • rindex:从右向左查找元素第一次出现的位置,返回正向下标。找不到报错。
    • find、rfind

      • **find:**从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到返回-1
      • **rfind:**从右向左查找元素第一次出现的位置,返回正向下标。找不到返回-1

示例:

结果: 6 8 8 6 8 8

content = '卧槽,你可真菜,菜鸡!!!'
print(content.index('菜'))
print(content.index('菜', 7))
print(content.rindex('菜'))
print(content.find('菜'))
print(content.find('菜', 7))
print(content.rfind('菜'))

二、转义字符

转义字符是字符串的一种,是具有特殊含义的字符串
一、概念:在很久以前,转义字符是反斜杠\加上ASCII码表中的数字(一般是八进制数字)组成有特殊含义的字符。
在C语言中规定反斜杠\加上ASCII码表中部分符号组成的字符,python使用的是C语言对应的形式。
二、常见的转义字符
\n: 换行,将鼠标光标移动到下一行开头
\t: 制表符tab键,能够对其字符串,\t的宽度不一定为四个空格,\t的长度 = 8 - 字符串长度 % 8
\r: 将鼠标光标移动到本行开头
\'、\"、\\表示’、 “、 \自身

转义字符长度为1

  • 原始字符串

    一 概念: 在字符串前面添加r或者R,就被叫做原始字符

    二 作用: 将字符串中具有特殊含义的符号变得没有意义

    结果:
    D:\n\t\r…
    D:\n\t\r…

str1 = 'D:\\n\\t\\r.......'
str2 = r'D:\n\t\r.......'
print(str1)
print(str2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值