字符串的方法有很多,这里只涉及我们常用的方法和函数
目录
1. 关于字符串的函数:即ord()和chr()
str = "黄"
num = ord(str) - 1 # 转成数字类型
print(chr(num))
黃
is开头的方法:判断字符串中的内容
- string.isspace():如果 string 中只包含空格,则返回 True,否则返回 False.
str1 = " "
print(str1.isspace())
True
- string.isalnum():如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
str2 = "aaa111"
print(str2.isalnum())
True
- string.isalpha():如果 string 至少有一个字符并且所有字符都是字母则返回 True,
否则返回 False
str3 = "abc"
print(str3.isalpha())
True
- string.isdecimal():如果 string 只包含十进制数字则返回 True 否则返回 False.
str4 = "123"
print(str4.isdecimal())
True
- string.istitle():如果 string 是标题化的(见 title())则返回 True,否则返回 False
str5 = "Tom"
print(str5.istitle())
True
- string.islower():如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
str6 = "asda.,';"
print(str6.islower())
True
- string.isupper():如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
str7 = "ASC,."
print(str7.isupper())
True
2. 查找和替换
- string.startswith(obj, beg=0,end=len(string)):检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.
string.endswith(obj, beg=0, end=len(string)) :检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
str8 = "https://blog.csdn.net"
print(str8.startswith('https'))
print(str8.endswith('net'))
True
True
- string.find(str, beg=0, end=len(string)):检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
string.replace(str1, str2, num=string.count(str1)):把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
str9 = "奶茶 13元"
print(str9.find('13'))
print(str9.replace('奶茶', 'XXX'))
3
XXX 13元
3. 拆分和拼接
- string.partition(str):有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
string.rpartition(str):类似于 partition()函数,不过是从右边开始查找
str10 = "https://blog.blog.csdn.net"
print(str10.partition('blog'))
print(str10.partition('net'))
print(str10.rpartition('blog'))
(‘https://’, ‘blog’, ‘.blog.csdn.net’)
(‘https://blog.blog.csdn.’, ‘net’, ‘’)
(‘https://blog.’, ‘blog’, ‘.csdn.net’)
常用:大家查看代码,即可理解
str11 = 'root:x:0:0:root:/root:/bin/bash'
print(str11.split(':', 6))
print(str11.split(':', 5))
[‘root’, ‘x’, ‘0’, ‘0’, ‘root’, ‘/root’, ‘/bin/bash’]
[‘root’, ‘x’, ‘0’, ‘0’, ‘root’, ‘/root:/bin/bash’]
str12 = ['asd', 'dfg', 'ghj']
str13 = "/".join(str12)
print(str13)
asd/dfg/ghj
4. 大小写转换
str14 = "Hello,welcome to CSDN"
str15 = str14.capitalize() # 首字母大写,其他小写
str16 = str14.title() # 标题格式,单词首字母大写
str17 = str14.lower() # 全部小写
str18 = str14.upper() # 全部大写
str19 = str14.swapcase() # 大小写反转
print(str15)
print(str16)
print(str17)
print(str18)
print(str19)
Hello,welcome to csdn
Hello,Welcome To Csdn
hello,welcome to csdn
HELLO,WELCOME TO CSDN
hELLO,WELCOME TO csdn
5. 文本对齐
str20 = "你好世界"
print(len(str20))
print(str20)
print(str20.ljust(10, 'X')) # 左对齐
print(str20.rjust(10, 'X')) # 右对齐
print(str20.center(10, 'X')) # 中对齐
4
你好世界
你好世界XXXXXX
XXXXXX你好世界
XXX你好世界XXX
6. 去除空白字符(不写参数就是删除空格)
str21 = "*****你好世界*****"
print(str21)
print(str21.lstrip('*'))
print(str21.rstrip('*'))
print(str13.strip('*'))
!!!!!你好世界!!!!!
你好世界!!!!!
!!!!!你好世界
7. 遍历字符串
遍历字符和遍历list使用方法一样:
for i in range(0, len(str13)):
print(str13[i])
for i in range(-len(str13), 0):
print(str13[i])
for i in str13:
print(i)