Python 字符串魔法
1. expandtabs(num)
1 testStr = "name\temail\tage\nxiaohua\t12345@qq.com\t22\nxiaoshuai\t54321@qq.com\t23\nxiaozhang\t67890@qq.com\t24\t" 2 print(testStr.expandtabs(15))
输出:1 C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\python.exe E:/Python/PyProject/Study.py 2 name email age 3 xiaohua 12345@qq.com 22 4 xiaoshuai 54321@qq.com 23 5 xiaozhang 67890@qq.com 24
说明:expandtabs(num)用于查找字符串中\t(制表符)并将其剩余长度用空格补充,如上面例子所示 num = 20,查找到第一个\t时,前面字符串name长度为4,则后面16长度将由16个空格填充。
2. isalpha()
1 testStr = "hello world" 2 print(testStr.isalpha()) #判断字符串是否为全为字母 全字母返回true
3.isdight() , isdecimal() ,isnumeric()
testStr = "二" print(str(testStr.isdecimal()),str(testStr.isdigit()),str(testStr.isnumeric()))
1 # 用于判断是否为数字 范围: isdecimal() < isdight() < isnumeric() 2 # 输出结果 3 False False True
4.isprintable()
1 testStr = "hello\tworld" 2 print(testStr.isprintable()) #输出结果为false 如果字符串中在打印时的显示与字符串相同时 为true 3 #例如"hello world" 打印时"hello world" 为真
5.isspace()
1 testStr = "hello world" 2 print(testStr.isspace()) #output: false 3 #判断是否全为空格
6.istitle(), title()
1 testStr = "There is a title?" 2 print(testStr.istitle()) #判断是否为标题(所有单词首字母大写) Output: false 3 testStr = testStr.title() #转换字符串为标题(将所有单词首字母大写) 4 print(testStr.istitle()) #Output: True
7.join()
1 testStr = "你是风儿我是沙" 2 print(testStr)#output:你是风儿我是沙 3 testStr = " ".join(testStr)#将" "插入到每个字符串的间隔中,""中可以是任何字符 4 print(testStr)#output: 你 是 风 儿 我 是 沙
8.center(),ljust(),rjust(),zfill()
1 testStr = "hello world" 2 print(testStr.center(20,"*")) #Output: ****hello world***** 3 print(testStr.ljust(20,"*")) #Output: hello world********* 4 print(testStr.rjust(20,"*")) #Output: *********hello world 5 print(testStr.zfill(20)) #Output: 000000000hello world 6 #以指定字符填充字符串 zfill只能默认填充0
9.lower(),islower(),upper().isupper()
1 testStr = "Hello World" 2 print(testStr.islower()) #Output: false 判断是否全为小写 3 print(testStr.lower()) #Output: hello world 全部转换为小写 4 print(testStr.isupper()) #Output: false 判断是否全为大写 5 print(testStr.upper()) #Output: HELLO WORLD 全部转换为大写
10.lstrip() ,rstrip(),strip()
1 testStr = " Hello World " 2 print(testStr.lstrip()) #Output: "Hello World " 默认处理字符串左边的空白(可去除\t,\n),也可指定去除的参数 3 print(testStr.rstrip()) #Output: " Hello World" 默认处理字符串右边的空白(可去除\t,\n) 4 print(testStr.strip()) #Output: "Hello World" 默认处理字符串两边的空白(可去除\t,\n) 5 print(testStr.lstrip(" H"))#Output: " ello World" 6 print(testStr.lstrip(" Hlelo")) #Output: "World" 7 #类似一种正则表达加最大匹配的匹配规则,以" Hello World "为例,在" Hlelo"中,删除的过程为:原Str->"ello World"->"lo World"->" World"->"world"
11.maketrans() translate()
1 Trans = str.maketrans("HeloWrd","1234567") 2 print(testStr.translate(Trans)) #Output: 12334 54637 3 #maketrans()和tanslate()一起使用,先使用maketrans()建立一组对应关系,再使用translate()进行相应的替换,如H替换为1 e替换为2
12.partition(),rpartition(),split(),rsplit()
testStr = "qwersqwersqwersqwer" print(testStr.partition("s")) #Output: ('qwer', 's', 'qwersqwersqwer') print(testStr.rpartition("s"))#Output: ('qwersqwersqwer', 's', 'qwer') print(testStr.split("s")) #Output: ['qwer', 'qwer', 'qwer', 'qwer'] print(testStr.split("s",2)) #Output: ['qwer', 'qwer', 'qwersqwer'] print(testStr.rsplit("s")) #Output: ['qwer', 'qwer', 'qwer', 'qwer'] print(testStr.rsplit("s",2)) #Output: ['qwersqwer', 'qwer', 'qwer'] #以上四个魔法用于分割字符串,partition()优势在于可以获取分割符,但是不能指定分割次数,而split()可以指定分割次数,但无法获取分割符
来源:https://www.cnblogs.com/hujian-newworld/p/10089567.html