python day 07

python day 07

字符串相关方法

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

# isdigit :判断是否是数字字符串,返回True 或者False
print(str1.isdigit(),str2.isdigit())  # True False

# isalpha: 判断是否是纯字母字符串
print(str1.isalpha(),str2.isalpha(),str3.isalpha(),str4.isalpha())
# False True False False

# isalnum : 判断字符串是否是数字字符串或者是字母字符串 或是数字字母字符串
print(str1.isalnum(),str2.isalnum(),str3.isalnum(),str4.isalnum())
# True True True False


# 对齐:ljust、rjust 、center 等价于格式化输出中的 < > ^
str5='分隔符'
print(str5.center(10, '*')) # 宽度10 不足10用*补齐 ***分隔符****
print(str5.ljust(10, '*'))  # 分隔符*******
print(str5.rjust(10, '*'))  # *******分隔符

#验证字符串开头或结尾是否符合要求 : startwith\endwith
tel = '13522222226'
print(tel.startswith('135')) # True
print(tel.endswith('1232'))  # False
if'/cj/2022/08-30/9839995.shtml'.startswith('https://www.chinanews.com.cn') == False :
    print('https://www.chinanews.com.cn'+'/cj/2022/08-30/9839995.shtml')

    
# str(): 构造器语法:将其他数据类型转化为字符串
# 使用案例;找出 1000以内的阿姆斯特朗数
for i in range(1,1000):
    str(i)
    lenght = len(str(i))
    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)  # ['123', '000']

#join():按照指定的间隔符将容器中的字符串拼接在一起(容器中所有元素必须是字符串)
str2 = '+'.join(list1)
print(str2)   # 123+000
str3 = ''.join(list1)
print(str3)  # 123000

# replace :替换,将新字符串替换到旧字符串的位置
# 字符串.replace(oldStr , newStr ,替换次数) 替换次数默认为全部替换
str1 = '123,000'
str2=str1.replace(',','')
print(str2) # 123000
print(str1.replace('0','+',1)) # 123,+00 

print('--'*25)
# strip():默认将字符串两端的空白符号去掉(空白符包括空格,换行)
# strip():可以指定去除字符串两端的那、哪些符号
str1='\n     ab\t cd   \n'
print(str1)
print('--'*25)
print(str1.strip())
print('--'*25)
print(str1.strip('\n'))

# 手机号、身份证号、银行卡号等不需要参与计算的数字符号作为字符串存储。
tel = '13567899012'
print(tel.replace(tel[3:7], '****'))  # 135****9012

# 屏蔽不文明用语
# 1.人为收集不文明用语。""
# 2.根据用户输入的一句话识别
# 3.检测到,进行*替换,将替换完的结果输出

list1=['卧槽','臣卜木曹','菜鸡','菜']
content = '卧槽,你可真菜,菜鸡,****!!!'
for i in list1:
    content = content.replace(i, '*' * len(i))
print(content)  # **,你可真*,**,****!!!

一些其他方法

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

find、rfind 找不到返回-1
find: 在字符串中从左向右查找某个符号第一次出现的位置(下标):可指定位置。
rfind: 在字符串中从右向左查找某个符号第一次出现的位置(下标):返回正向下标

转义字符

转义字符的背景

是字符串的一种,是具有特殊含义的字符串。
很久以前 ,转义字符是反斜杠\加上ASCII码表中的数字()组成的有特殊含义的字符。
在c语言中规定 \加上ASCII码表中部分符号组成的有特殊含义的字符,python用的是c语言的标准。

二、常见的转义字符

\n :换行
\t :制表符tab键,能对齐字符串,\t的宽度不一定为四个空格,\t的长度= 8 - 字符串长度 % 8
\r :将鼠标光标移动到本行开头(记忆)
’ \ " 表示’ ‘’ \ 自身

三、转义字符的长度为1

print(len('\n\t')) # 2

四、关于\r的用法,简易进度条制作

for i in range (10):
    print(f'\r{i}',end='')  #\r 将光标移动到行首,下一次输出替换光标后的
    # 9
print()
# 使用\r 实现进度条
import time简易进度条制作
lenght = 50
for i in range(lenght+1):
    #进度条的空白槽
    a = (lenght - i) * ' '
    b = '*' * i
    print(f'\r|{b}{a}|',end = '') #一边执行一边替换
    time.sleep(0.4)

原始字符串

在字符串前添加r 或者 R ,叫原始字符串。
将字符串中有特殊含义的符号变得没有意义。

str1 = r'D:\n......'
print(str1)  # D:\n......

应用场景: 正则表达式、代码中引入文件路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值