python的字符串内建函数

2018-06-27  本文已影响0人  松柏林stata

字符串 str30个基本方法。

(其中join()、split()、find()、strip()、upper()、lower()必须掌握)

1.capitalize()功能:首字母大写

test = "aLex"
#首字母大写
v = test.capitalize()
print(v)

输出:
Alex

2.casefold()方法变小写,casefold更牛逼,很多未知的对相应变小写

test = "wangXIXI"
v1 = test.casefold()
print(v1)
v2 = test.lower()
print(v2)

输出:
wangxixi
wangxixi

3.center()方法

设置宽度,并将内容居中,20代指总长度*空白未知填充,一个字符,可有可无。

test = "wangXIXI"
print(test)
v = test.center(20,"*")
print(v)

输出:
wangXIXI
******wangXIXI******

4.count()方法

去字符串中寻找,寻找子序列的出现次数。

test = "aLexalexr"
v1 = test.count('ex')
v2 = test.count('ex',1,5) #设置起始位置,从1到5
print(v1,v2)

输出:
2 1

5.endswith()方法。

以什么什么结尾,startswith()以什么什么开始。

test = "alex"
v1 = test.endswith('ex')
print(v1)
v2 = test.startswith('ex')
print(v2)

输出:
True
False

6.find()方法

从开始往后找,找到第一个之后,获取其位置,未找到输出 -1。

test = "alexalex"
v1 = test.find('ex')
v2 = test.find('ex',4,6) #设置起始位置,从4到6
print(v1,v2)

输出:
2 -1

7.format()方法

格式化,将一个字符串中的占位符替换为指定的值。

test= 'i am {name}, age {a}'
print(test)
v = test.format(name='alex',a=19)#或者 v = test.format('alex',19)
print(v)

输出:
i am {name}, age {a}
i am alex, age 19

 # 格式化,传入的值 {"name": 'alex', "a": 19}
 test = 'i am {name}, age {a}'
 v1 = test.format(name='df',a=10)
 v2 = test.format_map({"name": 'alex', "a": 19})
print(v1)
print(v2)

输出:
i am df, age 10
i am alex, age 19

8.功能1isalnum()方法

判断字符串中是否只包含字母和数字。

test = "123"
v = test.isalnum()
print(v)

输出:
True

9.expandtabs()方法

test= "username\temail\tpassword\nxixi\txixi@q.com\t123\nshishi\tshishi@q.com\t123\nwangwang\twangwang@q.com\t123"
v = test.expandtabs(20)#断句20,(每行不够20位数用/t空格补够20位)
 print(v)

输出:
username email password
xixi xixi@q.com 123
shishi shishi@q.com 123
wangwang wangwang@q.com 123

10.isalpha():方法

判断字符串中是否是字母或汉字。

test = "as2df"
v = test.isalpha()
print(v)

输出:
False

11.isdecimal()、isdigit()、isnumberic()方法

判断当前输入是否是数字,isdecimal()判断十进制的小数,isdigit()包含特殊特殊符号的字符不支持中文,isnumberic()支持中文

test = "二"
v1 = test.isdecimal()
v2 = test.isdigit()
v3 = test.isnumeric()
print(v1,v2,v3)

输出:
False False True

12.islower方法

判断字符串是否由小写字母组成。

str = "Welcom to yiibai python tutorials!"
print (str.islower())
str = "welcom to yiibai python tutorials!"
print (str.islower())

输出:
False
True

13.isprintable()方法

判断是否存在不可显示的字符 ( \t制表符 \n换行)

test = "oiuas\tdfkj"#\t不可见
v = test.isprintable()
print(v)

输出:
False

14.isspace() 方法

检测字符串是否只由空格组成。

str = "       ";
print (str.isspace())
str = "This is string example....wow!!!"
print (str.isspace())

输出:
True
False

15.title() 方法

返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())判断是否标题。

tr = "this is string example....wow!!!"
print (str.title())

输出:
This Is String Example....Wow!!!

15.join() 方法

用于将序列中的元素以指定的字符连接生成一个新的字符串。

str = "-";
seq = ("a", "b", "c") # 字符串序列
print (str.join(seq ))

输出:
a-b-c

16. ljust() 方法

返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

str = "this is string example....wow!!!"
print (str.ljust(50, '*'))

输出:
this is string example....wow!!!******************

17.rjust() 方法

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

str = "this is string example....wow!!!"
print (str.rjust(50, '/'))

输出:
//////////////////this is string example....wow!!!

18. zfill() 方法

返回指定长度的字符串,原字符串右对齐,前面填充0。

 str = "this is string example....wow!!!"
print(str.zfill(40))
print (str.zfill(50))

输出:
00000000this is string example....wow!!!
000000000000000000this is string example....wow!!!

19. lower() 方法

转换字符串中所有大写字符为小写。

str = "THIS IS STRING EXAMPLE....WOW!!!"
 print(str.lower())

输出:
this is string example....wow!!!

20.string.isupper()方法

判断如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

21.string.upper()方法

转换字符串中所有大写字符为大写。

22.string.lstrip()方法

截截掉字符串左边的空格或指定字符。或者\t,\n。

23.string.rstrip()方法

截掉 string 右边的空格或指定字符。或者\t,\n。

24.string.strip()方法

截掉 string 左右两边的的空格或指定字符。或者\t,\n。

25.string.maketrans() 方法

用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标.注:两个字符串的长度必须相同,为一一对应的关系。intab -- 字符串中要替代的字符组成的字符串。outtab -- 相应的映射字符的字符串。

intab = "aeiou"
outtab = "12345"
trantab = maketrans(intab, outtab)
str = "this is string example....wow!!!"
print (str.translate(trantab))

输出:
th3s 3s str3ng 2x1mpl2....w4w!!!

26.string.partition() 方法

string.rpartition() 方法

用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。string.rpartition() 方法,从开始。

str = "www.runoob.com"
print(str.partition("r"))

输出:
('www.', 'r', 'unoob.com')

26.split()方法

通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串.
语法:str.split(str="", num=string.count(str)).
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num -- 分割次数。

str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print (str.split( ))
print (str.split(' ', 1 ))

输出:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']

27.splitlines()方法

按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
str.splitlines([keepends])
keepends -- 在输出结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。

str1 = 'ab c\n\nde fg\rkl\r\n'
print (str1.splitlines())
str2 = 'ab c\n\nde fg\rkl\r\n'
print (str2.splitlines(True))

输出:
['ab c', '', 'de fg', 'kl']
['ab c\n', '\n', 'de fg\r', 'kl\r\n']

28.startswith() 方法

用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
str -- 检测的字符串。
strbeg -- 可选参数用于设置字符串检测的起始位置。
strend -- 可选参数用于设置字符串检测的结束位置。

str = "this is string example....wow!!!"
print (str.startswith( 'this' ))
print (str.startswith( 'is', 2, 4 ))
print (str.startswith( 'this', 2, 4 ))

输出:
True
True
False

29.swapcase() 方法

用于对字符串的大小写字母进行转换。

str = "this is string example....wow!!!"
print (str.swapcase())
str = "THIS IS STRING EXAMPLE....WOW!!!"
print (str.swapcase())

输出:
THIS IS STRING EXAMPLE....WOW!!!
this is string example....wow!!!

上一篇下一篇

猜你喜欢

热点阅读