Loading

05-Python-常用字符串方法

字符串

定义: 背后调用str()函数,把任意其他类型转为字符串类型。

内置方法

01-按索引取值

msg="Hello World"
# 正向取
print(msg[0])
# 反向取
print(msg[-1])
# 列表可以改,但是字符串只能取
msg[0]='T'  # 一定会报错

02-切片

msg = "Hello World"
print(msg[0:5])  # 运行结果为Hello
print(msg[0:5:2])  # 运行结果为Hlo
print(msg[0:5:-1])  # 运行结果为空
print(msg[5:0:-1]) # 运行结果为 olle
print(msg[::-1]) # 运行结果为dlroW olleH

03-长度

msg = "Hello World"
print(len(msg))  # 运行结果为11

04-成员运算

msg = "Hello World"
print("Hello" in msg)  # 运行结果为True
print("World" not in msg)  #运行结果为False

05-移除空格

strip只去两边,不去中间

msg = "  Hello World  "
print(msg.strip())  #运行结果为"Hello World",默认去掉左右两侧空格
msg = "****Hello World****"
print(msg.strip('****'))  # 运行结果为"Hello World",去掉左右两侧的'*'

python 过滤危险字符

bypass_list=['\'','"','%','@','#','$','!','^']
username_input=input("Please input your name")
flag=True
while flag:
    for i in bypass_list:
        print(i)
        username_input=username_input.strip(i)
        print(username_input)
        for t in username_input:
            print(t,end=' ')
            if t not in bypass_list:
                flag = False
            else :
                flag = True

06-切分

msg="Hello world my holy love"
print(msg.split('o'))
# 运行结果为['Hell', ' w', 'rld my h', 'ly l', 've']

07-循环

msg="Hello world"
for x in msg:
    print(x)
'''
运行结果为:
H
e
l
l
o

w
o
r
l
d
'''

重要方法

01-lstrip()与rstrip()

# lstrip()去左边
# rstrip()去右边
msg = "*Hello world*"
print(msg.lstrip('*'))  # 运行结果Hello world*
print(msg.rstrip('*'))  # 运行结果*Hello world

02-lower()与upper()

msg="aaabbbCCCddEFg"
print(msg.lower())  # 运行结果"aaabbbcccddefg"
print(msg.upper())  # 运行结果"AAABBBCCCDDEFG"

03-startwith()与endwith()

msg = "aaabbbCCCddEFg"
print(msg.startswith('aaa'))  #运行结果为True
print(msg.endswith('aaa'))  #运行结果为False

04-split()与rsplit()

msg = "Alice:is:a:girl"
print(msg.split(':', 2))  #运行结果为['Alice', 'is', 'a:girl']
print(msg.rsplit(':', 2))  #运行结果为['Alice:is', 'a', 'girl']

05-join()

# join把列表拼接成字符串
msg = "Alice:is:a:girl"
a = msg.split(':')
res = ':'.join(a)
print(res)  # 运行结果为Alice:is:a:girl

06-replace()

msg = "Hello Alice"
print(msg.replace("Alice", "Peter"))  # 运行结果为"Hello Peter"

07-isdigit()

msg = "1232345234"
print(msg.isdigit())
#  运行结果为True
info = "Hello"
print(info.isdigit())
# 运行结果为False

需要了解的方法

01-find()与rfind()

msg = "Hello World egg eyes"
print(msg.find('e'))
# 运行结果为 ‘1’
# find会返回查找子字串在大字串中的起始索引
print(msg.rfind('e'))
# 运行结果为‘18’
# rfind会返回查找子字串在大字串中从右往左的第一个索引
print(msg.find('z'))
# 运行结果为'-1',表示没有找到

02-center()与ljust()与rjust()与zfill()

msg = "Peter"
print(msg.center(10, '*'))
# 运行结果为**Peter***,表示msg居中放置,长度为10,不够的用'*'补齐
print(msg.ljust(10, '*'))
# 运行结果为Peter*****,表示msg靠左放置,长度为10,不够的用'*'补齐
print(msg.rjust(10, '*'))
# 运行结果为*****Peter,表示msg靠右放置,长度为10,不够的用'*'补齐
print(msg.zfill(10))
# 运行结果为00000Peter,表示用0填充,默认靠右对齐

03-expandtabs()

msg = "hello\tworld"
print(msg.expandtabs(4))
# 运行结果为hello   world,表示制表符宽度以4输出

04-captalize()与swapacase()与title()

msg = "Hello world Alice"
print(msg.capitalize())
# 运行结果为"Hello world alice" 表示将字符串的第一个字母变成大写,其他字母变小写。
print(msg.swapcase())
# 运行结果为"hELLO WORLD aLICE" 表示大小写转换
print(msg.title())
# 运行结果为"Hello World Alice" 表示将单词的首字母变为大写,其他的变为小写

05-is系列

print("abc".islower())  # 判断是否为小写
print("ABC".isupper())  # 判断是否为大写
print("Hello World".istitle())  #判断是否为标题形式
print("hello123".isalnum())  # 判断是否为字母或者数字
print("AbcD".isalpha())  # 判断是否由字母组成
print(" ".isspace())  # 判断是否都是空格
print("def".isidentifier())  # 判断是否为内置的名字
print("四".isnumeric())  # 判断是否是数字
print("4".isdigit())  # 判断是否为阿拉伯数字
print("4".isdecimal())  #判断是否为十进制数字
posted @ 2023-01-23 12:51  nliuc  阅读(19)  评论(0编辑  收藏  举报