Python字符串魔法(一)

淺唱寂寞╮ 提交于 2020-04-08 04:51:30

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()可以指定分割次数,但无法获取分割符

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!