字符串下常用的工具
如有错误请提出
.capitalize() (首字母改成大写)
text = "love"
text = text.capitalize()
print(text)
输出:Love
.lower() (所以字母变小写)
text = "LOVE"
text = text.lower()
print(text)
输出:love
.swapcase() (字符串字母大小写互换)
text = "aBcDeFg"
text = text.lower()
print(text)
输出:AbCdEfG
.center(总宽度, 填充= None) (传入一个总宽度然后居中,填充默认为空格)
text = "love"
text = text.center(10,"*")
print(text)
输出:***love***
.ljust(总宽度, 填充= None) (传入位数,字符左对齐,往右边填充,填充默认为空格)
text = "love"
text = text.ljust(10,"*")
print(text)
输出:love******
.rjust(总宽度, 填充= None) (如上,字符右对齐,往左填充)
text = "love"
text = text.rjust(10,"*")
print(text)
输出:******love
.count(str, start = None, end = None) (计算某字符或字符串出现次数,可以跟起始位置和结束位置)
text = "lovelovelove"
text = text.count("o")
print(text)
输出:3
.endswith(str,start = None, end = None) (是否以什么结尾,可以跟起始位置和结束位置)
text = "love"
text = text.endswith("o")
print(text)
输出:False
.startswith(str,start = None, end = None) (是否以什么开头,可以跟起始位置和结束位置)
.find(str,start = None, end = None) (从头开始查找第一个匹配对象,并返回下标,没有则返回-1,可以跟起始位置和结束位置)
text = "lovelove"
text = text.find("e")
print(text)
输出:3 #返回的是下标(索引)
.format() (可以传递/替换 字符串里带 {} 的内容)
text = "I am {name}, my age is {age}"
text = text.format(name = "jhon", age = 18)
print(text)
输出:I am jhon, my age is 18
text = "I am {0}, my age is {1}"
text = text.format("jhon",18)
print(text)
输出:I am jhon, my age is 18
.expandtabs(tabsize = 8) (tabsize默认是8,只要遇到tab符(\t),会将\t后补齐空格,一般用于对齐)
text = "name\temail\tphone"
text = text.expandtabs(8)
print(text)
输出:name email phone
.isalnum() (判断字符串是否只有数字和字母(不包括\t\n符号等),如果是返回True,否则False)
text = "ilove39234__!"
text = text.isalnum()
print(text)
输出:False
.isalpha() (判断字符串是否只有字母(不包括\t\n等),如果是返回True,否则False)
.isdecimal() (判断字符串是否只有数字(不包括\t\n等),如果是返回True,否则False)
.isdigit() (如上,不常用)
.isnumeric() (如上,另能判断更高级的数字,如(一,二,三等))
.isidentifier() (判断字符串是否可以当做标识符,如果是返回True,否则False)
.islower() (判断字符串是否都是小写,如果是返回True,否则False)
.isupper() (判断字符串是否都是大写,如果是返回True,否则False)
.isspace() (判断字符串是否为空(空字符),如果是返回True,否则False)
.title() (把字符串转换为title样式,首字母都是大写)
text = "i Love python"
text.title()
print(text)
输出:I Love Python
.istitle() (判断字符串是否是title样式,首字母都是大写,如果是返回True,否则False)
.join() (往字符串之间插入)
1 text = "我是一只兔子"
2 t = "_"
3 text = t.join(text)
4 print(text)
输出 :我_是_一_只_兔_子
.strip() (去除左右空字符,如\t \n等空白字符,也可以加入字符串参数去除左右字符串)
1 text = " ldfiej es \t" 2 text = text.strip() 3 print(text)
#去除首位空白字符
输出 :flejli es
.lstrip() (去除左边空字符,如上)
.rstrip() (去除右边空字符,如上)
.partition(str) (按照传入的str从左寻找第一个匹配并分割,从分割处分前中后三段,返回一个3元的元组)
1 text = "abcdefgh" 2 text = text.partition("d") 3 print(text)
输出:('abc', 'd', 'efgh')
.rpartition(str) (同上,从右边开始寻找并分割)
.split(str,次数 = -1) (匹配所以并且全部分割(匹配的str会被去除),次数默认-1匹配全部,可以传入自定义次数)
text = "abcdabcdabcd"
text.split("c")
['ab', 'dab', 'dab', 'd']
.splitlines(False) (根据换行符(\n)分割,可以传入True保留换行符,False 不保留换行符,默认为False)
text = "abcd\nab\ncd\tabc\ndab"
text.splitlines(False)
输出:['abcd', 'ab', 'cd\tabc', 'dab']
text = "abcd\nab\ncd\tabc\ndab"
text.splitlines(True)
['abcd\n', 'ab\n', 'cd\tabc\n', 'dab']
.replace(old,new,个数) (替换,可以输入要替换的个数)
a = "abcdabcdabcd"
a.replace("ab","12")
输出:'12cd12cd12cd'
索引 / 下标
索引 / 下标是从0位开始 ,可以获取字符串中的某个字符
test = "python3"
t1 = test[0] #取单个字符
t2 = test[0:2] #取一个范围内 0=< <2
t3 = test[0:-1] #-1代表最后一位
t4 = test[:3] # : 冒号前面不写默认为0
t5 = test[0:] # : 冒号后面不写默认为结尾
print("t1 = ",t1)
print("t2 = ",t2)
print("t3 = ",t3)
print("t4 = ",t4)
print("t5 = ",t5)
结果分别为:
t1 = p
t2 = py
t3 = python
t4 = pyt
t5 = python3