Python字符串魔法

Posted hujian-newworld

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python字符串魔法相关的知识,希望对你有一定的参考价值。

Python 字符串魔法

1. expandtabs(num)

1 testStr = "name	email	age
xiaohua[email protected]	22
xiaoshuai[email protected]	23
xiaozhang[email protected]	24	"
2 print(testStr.expandtabs(15))
输出:
1
C:UsersAdministratorAppDataLocalProgramsPythonPython37-32python.exe E:/Python/PyProject/Study.py 2 name email age 3 xiaohua [email protected] 22 4 xiaoshuai [email protected] 23 5 xiaozhang [email protected] 24

说明:expandtabs(num)用于查找字符串中 (制表符)并将其剩余长度用空格补充,如上面例子所示 num = 20,查找到第一个 时,前面字符串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	world"
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 "  默认处理字符串左边的空白(可去除	,
),也可指定去除的参数
3 print(testStr.rstrip())  #Output: " Hello World"  默认处理字符串右边的空白(可去除	,
)
4 print(testStr.strip())   #Output: "Hello World"   默认处理字符串两边的空白(可去除	,
)
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()可以指定分割次数,但无法获取分割符

 


以上是关于Python字符串魔法的主要内容,如果未能解决你的问题,请参考以下文章

Python字符串魔法

python 字符串的魔法

Python 魔法方法

python类与对象各个魔法方法总结

python之字符串的魔法

python之字符串的魔法