关于 Python 的字符串处理相关的方法还是非常多的,由于我正在学习 Python,于是就把 Python 中这些混杂的用于 string 的函数总结出来,在自己忘记的时候便于查找,希望对于有类似需求的人有所帮助。
将一个字符串的第一个字母大写
str.captalize()
无
string
str = "hello world!"
print "str.capitalize(): ", str.capitalize()
tr.capitalize(): Hello world!
将字符串居中,居中后的长度为 width
将字符串居中,居中后的长度为 width
str.center(width[, fillchar])
返回填充字符后的字符串
str = "hello world!"
print "str.center(20): ", str.center(20)
print "str.center(20,'-'): ", str.center(20,'-')
tr.center(20): hello world!
str.center(20,'-'): ----hello world!----
返回该字符串中出现某字符串序列(或字符)的次数
str.count(sub, start=0, end=len(string))
被查找的序列在字符串的查找位置中出现的次数
str = "hello world! hello world!"
sub = "o"
print "str.count(sub): ", str.count(sub)
sub = "hello"
print "str.count(sub, 5) ", str.count(sub, 5)
str.count(sub): 4
str.count(sub, 5) 1
使用特定编码将字符串解码(decode)/编码(encode)
str.decode(encoding='UTF-8',errors='strict')
str.encode(encoding='UTF-8',errors='strict')
ignore
, replace
, xmlcharrefreplace
, backslashreplace
编码/解码后的字符串
str = "hello world!"
str = str.encode('base64', 'strict')
print "Encoded str: ", str
print "Decoded str: ", str.decode('base64')
Encoded str: aGVsbG8gd29ybGQh
Decoded str: hello world!
判断字符串是否是以某字符串结尾的
str.endswith(suffix, start=0, end=len(string))
如果字符串是以 suffix
结尾的返回 True
, 否则返回 False
str = "hello world!"
suffix = "world!"
print str.endswith(suffix)
suffix = "llo"
print str.endswith(suffix,0,4)
print str.endswith(suffix,0,5)
True
False
True
提供自定义 tab(/t) 长度的方法,默认为8
str.expandtabs(tabsize=8)
string
str = "hello/tworld!"
print "Original str: " + str
print "Defalut expanded tab: " + str.expandtabs();
print "Double expanded tab: " + str.expandtabs(16)
Original str: hello world!
Defalut expanded tab: hello world!
Double expanded tab: hello world!
在字符串的某指定位置查找某字符串
str.find(str, start=0, end=len(string))
如果查找到,返回该子字符串的索引;未查找到,返回-1
str = "hello world!"
str1 = "wo"
print str.find(str1)
print str.find(str1, 8)
6
-1
功能上与 find() 相同,只是在未找到子字符串是抛出异常
str.index(str, start=0, end=len(string))
同 find()
如果查找到,返回该子字符串的索引;未查找到,抛出异常
str = "hello world!"
str1 = "wo"
print str.index(str1)
print str.index(str1, 8)
6
Traceback (most recent call last):
File "teststrmethods.py", line 6, in <module>
print str.index(str1, 8)
ValueError: substring not found
判断该字符串是否只是字母数字组合
str.isalnum()
无
如果该字符串是字母数字组合,返回 True
,否则返回 False
str = "helloworld"
print str.isalnum()
str = "hello world"
print str.isalnum()
str = "hello123"
print str.isalnum()
str = "hello123!"
print str.isalnum()
True
False
True
False
判断该字符串是否是字母组合
str.isalpha()
无
如果该字符串是字母组合,返回 True
,否则返回 False
str = "helloworld"
print str.isalpha()
str = "hello world"
print str.isalpha()
str = "hello123"
print str.isalpha()
str = "hello123!"
print str.isalpha()
True
False
False
False
判断该字符串是否只包含数字
str.isdigit()
无
如果该字符串只包含数字,则返回 True
,否则返回 False
str = "hello123"
print str.isdigit()
str = "123456"
print str.isdigit()
False
True
判断该字符串中是否只是小写字母
str.islower()
无
如果该字符串中只是小写字母,返回 True
,否则返回 False
str = "hello wolrd!"
print str.islower()
str = "Hello Wolrd!"
print str.islower()
True
False
判断该字符串是否只包含空格
str.isspace()
无
如果该字符串只包含空格,返回 True
,否则返回 False
str = " "
print str.isspace()
str = "Hello Wolrd!"
print str.isspace()
True
False
检查该字符串中的单词是否首字母都大写
str.istitle()
无
如果该字符串中的单词首字母都大写了,返回 True
,否则返回 False
str = "Hello world!"
print str.istitle()
str = "Hello Wolrd!"
print str.istitle()
False
True
判断该字符串中的字母是否都是大写
str.isupper()
无
如果该字符串中的字母都是大写,返回 True
,否则返回 False
str = "Hello world!"
print str.isupper()
str = "HELLO WORLD!"
print str.isupper()
False
True
用该字符串连接某字符序列(seq)
str.join(sequence)
返回连接之后的字符串
str = "-"
sequence = ("hello", "world", "everyone", "!")
print str.join(sequence)
hello-world-everyone-!
得到该字符串的长度
len(str)
无
返回该字符串长度
str = "Hello world!"
print "the length of str: ", len(str)
the length of str: 12
在字符串的右边填充字符使得字符串达到指定长度
str.ljust(width, fillchar=' ')
返回填充后的字符串
str = "Hello world"
print str.ljust(15)
print str.ljust(15,'!')
Hello world
Hello world!!!!
本文的版权归作者罗远航 所有,采用 Attribution-NonCommercial 3.0 License 。任何人可以进行转载、分享,但不可在未经允许的情况下用于商业用途;转载请注明出处。感谢配合!