字符串相关方法
str1 = '12345'
str2 = 'abcde'
str3 = 'abc123'
str4 = 'abc123...'
# isdigit:判断字符串是不是一个数字字符串,返回True或False
print(str1.isdigit(), str2.isdigit(), str3.isdigit(), str4.isdigit())
# isalpha:判断字符串是不是一个字母字符串,返回True或False
print(str1.isalpha(), str2.isalpha(), str3.isalpha(), str4.isalpha())
# isalnum:判断字符串是否是数字字符串或字母字符串或数字-字母字符串,返回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'
print(tel.startswith('135'))
print(tel.endswith('1111'))
if '/cj/2022/08-30/9840009.shtml'.startswith('https://www.chinanews.com.cn') == False:
print('https://www.chinanews.com.cn' + '/cj/2022/08-30/9840009.shtml')
print('/cj/2022/08-30/9840009.shtml')
# str():构造器语法:将其他数据类型转为字符串
for i in range(1, 1000):
# print(str(i),type(str(i)))
lenght = len(str(i))
# print(lenght)
numSum = 0
for j in str(i):
numSum += int(j) ** lenght
if numSum == i:
print(f'{i}是阿姆斯特朗数')
# split:切割,将字符串按照指定的符号进行切割,没有被切掉的元素被添加到一个列表中。
str1 = '123,000'
list1 = str1.split(',')
print(list1)
# join():按照指定的间隔符将容器中的字符串拼接到一起(前提:容器中所有元素必须都是字符串)
str2 = '+'.join(list1)
print(str2)
str3 = ''.join(list1)
print(str3)
# replace:替换,将新字符串替换到旧字符串的位置
# 字符串.replace(oldStr, newStr, 替换次数(不写表示全部))
str1 = '123,000'
print(str1.replace(',', ''))
print(str1.replace('0', '+', 1))
print('*' * 20)
# strip():默认将字符串两端中的空白符号去掉(空白符号包括:空格、换行等)
# strip():可以指定去除字符串两端的哪些符号
str1 = '\n ab\tcd \n'
print(str1)
print('*' * 20)
print(str1.strip())
print('*' * 20)
print(str1.strip(' '))
print('*' * 20)
# 手机号、身份证号、银行卡号等不需要参与计算的数字符号作为字符串存储。
tel = '13556789012'
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、rindex
# index:从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到报错。
# rindex:从右向左查找元素第一次出现的位置,返回正向下标。找不到报错。
# find、rfind
# find:从左向右在字符串中查找某个符号第一次出现的位置(下标);可以指定从哪个位置开始查找。找不到返回-1
# rfind:从右向左查找元素第一次出现的位置,返回正向下标。找不到返回-1
content = '卧槽,你可真菜,菜鸡!!!'
print(content.index('菜'))
print(content.index('菜', 7))
print(content.rindex('菜'))
print(content.find('菜'))
print(content.find('菜', 7))
print(content.rfind('菜'))
for i in range(50):
string = '*' * i
print(f'\r{string}',end='')
转义字符
# 是字符串的一种,是具有特殊含义的字符串。
# 一、概念:在很久之前,转义字符是反斜杠\加上ASCII码表中的数字(一般是八进制数字)组成的有特殊含义的字符。
# 在C语言中规定反斜杠\加上ASCII码表中部分符号组成有特殊含义的字符,python使用的是C语言对应的形式。
# 二、常见的转义字符
# \n:换行,将鼠标光标移动到下一行开头。
# \t:制表符tab键,能够对齐字符串,\t的宽度不一定为四个空格,\t的长度 = 8 - 字符串长度 % 8
# \r:将鼠标光标移动到本行开头
# \'、\"、\\表示没有特殊含义的'、"、\自身
str1 = 'ab\'cd'
# 三、转义字符的长度?转义字符的长度为1
print(len('\n\t'))
# 四、操作系统:
# mac、linux、windows三大操作系统的换行符号各不相同。
# windows换行为\r\n
# mac换行为\r
# linux换行为\n
# 五
str1 = 'ab\ncd'
print(str1)
str2 = 'ab\tcd'
str3 = 'abc\tde'
str4 = 'abc\tdef'
print(str2)
print(str3)
print(str4)
for i in range(10):
print(f'\r{i}', end='')
print('-----进度条-----')
# 使用\r实现进度条
from time import sleep
lenght = 50
for i in range(lenght):
# 进度条的空白槽
a = (lenght - i) * ' '
# 进度条的进度
b = '*' * i
print(f'\r|{b}{a}|', end='')
sleep(0.5)
原始字符串
# 一、概念:在字符串前面添加r或者R,就被叫做原始字符串。
# 二、作用:将字符串中具有特殊含义的符号变得没有意义。
str1 = 'D:\\n\\t\\r......'
str2 = r'D:\n\t\r......'
print(str1)
print(str2)
# 应用场景:正则表达式、代码中引入文件路径等