_黎先生

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

字符串下常用的工具

如有错误请提出


.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

 

 

 

posted on 2019-04-03 02:40  _黎先生  阅读(681)  评论(0编辑  收藏  举报