str 数据类型的用法

---------------------------------------------------------------------------------------------------------------------------

str:

方法: 44种

'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',

'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum',

 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower',

 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper',

 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition',

 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit',

 'rstrip', 'split', 'splitlines', 'startswith', 'strip',

 'swapcase', 'title', 'translate', 'upper', 'zfill'

a ="hello world"

方法

含义

实例

capitalize()

把字符串的第一个字符大写

In [146]: a.capitalize()

Out[146]: 'Hello world'

casefold

相当于lower()

In[1]:'HELLO ORLD'.casefold()

Out[1]: 'hello world'

center

返回一个原字符串居中,并填充至长度 width 的新字符串

In [3]: a.center(20,"*")

Out[3]: '****hello world*****'

count

返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

In [4]: a.count("h")

Out[4]: 1

In [7]: a.count("o",1,20)

Out[7]: 2

encode

encode(self, encoding='utf-8', errors='strict')

以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除 非 errors 指 定 的 是 'ignore' 或 者'replace'

In [8]: a.encode()

Out[8]: b'hello world'

endswith

检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

In [9]: a.endswith("d")

Out[9]: True

In [10]: a.endswith("d",1,9)

Out[10]: False

expandtabs

定义 的空格数

把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8

In [12]: a.expandtabs()

Out[12]: 'hhh     fff'

In [13]: len(a)

Out[13]: 7

In [14]: a.expandtabs(2)

Out[14]: 'hhh fff'

In [15]: len(a)

Out[15]: 7

find

检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

In [16]: a ="hello world"

In [17]: a.find("w")

Out[17]: 6

format

格式化字符串

In[20]: "{},{name}".format("hello",name="Tom")

Out[20]: 'hello,Tom'

format_map

同上,很少使用

In [31]: b = "{name}"

In[32]: b.format_map({"name":"tom"})

Out[32]: 'tom'

index

同find

In [33]: a.index("o")

Out[33]: 4

isalnum

如果 string 至少有一个字符并且所有字符都是字母或数字则返

回 True,否则返回 False

In [34]: "asdfas".isalnum()

Out[34]: True

In [35]: "#$%^&*(".isalnum()

Out[35]: False

isalpha

如果 string 至少有一个字符并且所有字符都是字母则返回 True,

否则返回 False

In [36]: "asd1111".isalpha()

Out[36]: False

In [37]: "asd".isalpha()

Out[37]: True

isdecimal

如果 string 只包含十进制数字则返回 True 否则返回 False.

In [41]: "2131".isdecimal()

Out[41]: True

isdigit

如果 string 只包含数字则返回 True 否则返回 False.

In [44]: "asd222".isdigit()

Out[44]: False

In [45]: "3333".isdigit()

Out[45]: True

islower

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

In [46]: "asdfSD".islower()

Out[46]: False

In [47]: "asdfas".islower()

Out[47]: True

isidentifier

检查字符串是否是字母开头

"asdfasd".isidentifier() #true

"123asdfasd".isidentifier() #false

isnumeric

检测字符串是否只由数字组成。这种方法是只针对unicode对象

In [48]: "asdfasd".isnumeric()

Out[48]: False

In [49]: "32444".isnumeric()

Out[49]: True

isprintable

判断字符串中所有字符是否都属于可见字符

In [50]: "sdfas".isprintable()

Out[50]: True

In [51]: " asdfas".isprintable()

Out[51]: False

In [52]: " asdfas".isprintable()

Out[52]: False

isspace

a=""

b=" "

if a:

    print("空")

if b:

    print("空字符串")

#空字符串

如果 string 中只包含空格,则返回 True,否则返回 False.

In [56]: len("")

Out[56]: 0

In [57]: len(" ")

Out[57]: 1

注意:” ”空格的bool类型是True

In [54]: "".isspace()

Out[54]: False

In [55]: " ".isspace()

Out[55]: True

In [59]: bool("")

Out[59]: False

In [60]: bool(" ")

Out[60]: True

istitle

如果 string 是标题化的(见 title())则返回 True,否则返回 False

即每个单次的首字母为大写

In [62]: 'Hello World Test'.istitle()

Out[62]: True

In [63]: "hello world test".istitle()

Out[63]: False

isupper

是否否是大写

In [64]: "HHHH".isupper()

Out[64]: True

In [65]: "HHHHh".isupper()

Out[65]: False

join

以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

In [69]: "*".join(['hello', 'world', 'test'])

Out[69]: 'hello*world*test

ljust

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

In [71]: "hhhh".ljust(20,"*")

Out[71]: 'hhhh****************'

In [73]: len('hhhh****************')

Out[73]: 20

lower

转换 string 中所有大写字符为小写.

In [74]: "HHHHh".lower()

Out[74]: 'hhhhh'

lstrip

截掉 string 左边

In [75]: "      asdfa     ".lstrip()

Out[75]: 'asdfa     '

In [76]: "***8hhhh****".lstrip("*")

Out[76]: '8hhhh****'

maketrans

(⊙o⊙)…

(⊙o⊙)…

partition

有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.

In [77]: "hello world test".partition(" ")

Out[77]: ('hello', ' ', 'world test')

Max

返回字符串 str 中最大(小)的字符

In [80]: max("asdfasasd22")

Out[80]: 's'

In [81]: min("asdfasasd22")

Out[81]: '2'

Min

replace(old, new, count=None)

把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

In [83]: "hello world".replace("l","肚子饿",2)

Out[83]: 'he肚子饿肚子饿o world'

rfind

类似于find

In [84]: "hello world".rfind("l")

Out[84]: 9

rindex

类型与index

In [87]: "hello world".rindex("l")

Out[87]: 9

rjust

类似于ljust

print("hello world".rjust(20,"*"))

#*********hello world

rpartition

类似于partition

/

rstrip

类似于rstrip

In [93]: "***8hhhh****".rstrip("*")

Out[93]: '***8hhhh'

Split

split(self, sep=None, maxsplit=-1)

以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串

In[104]:"hello world      test".split()

Out[104]: ['hello', 'world', 'test']

In [100]: "hello world test".split(" ",2)

Out[100]: ['hello', 'world', 'test']

In [101]: "hello world test".split(" ",1)

Out[101]: ['hello', 'world test']

In [102]: "hello world test".split(" ",0)

Out[102]: ['hello world test']

In [103]: "hello world test".split()

Out[103]: ['hello', 'world', 'test']

rsplit

类似split()

In [109]: "hello world te".rsplit(" ",1)

Out[109]: ['hello world', 'te']

splitlines

类似split()

In[118]: "hello wold test".splitlines()

Out[118]: ['hello', 'wold', 'test']

startswith

以xxx开头

In [120]: "hello world test".startswith("h")

Out[120]: True

strip

去除两边的

In [121]: "******hello*******".strip("*")

Out[121]: 'hello'

swapcase

翻转 string 中的大小写

In [124]: "sdfaHHHHs".swapcase()

Out[124]: 'SDFAhhhhS'

title

转换成title类型

In [125]: "hello world test".title()

Out[125]: 'Hello World Test'

translate

/

/

upper

转成大写

In [136]: 'swht'.upper()

Out[136]: 'SWHT

zfill

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

In [138]: 'swht'.zfill(10)

Out[138]: '000000swht'

In

In [139]: "l" in "hello"

Out[139]: True

==

/

In [140]: "asdf"=="asdf"

Out[140]: True

原文地址:https://www.cnblogs.com/twotigers/p/7700866.html