Python中一切皆对象。字符串除了作为被操作的对象,其也可以作为动作(方法)发起者。
spam = 'Hello world!'
spam = spam.upper()
spam
'HELLO WORLD!'
spam = spam.lower()
spam
'hello world!'
如果字符串至少有一个字母,并且所有字母都是大写或小写,
isupper()
和 islower()
方法就会相应地返回布尔值 True
。
否则,该方法返回 False
。在交互式环境中输入以下代码,
并注意每个方法调用的返回值:
spam = 'Hello world!'
spam.islower()
False
spam.isupper()
False
'HELLO'.isupper()
True
'abc12345'.islower()
True
'12345'.islower()
False
因为 upper()
和 lower()
字符串方法本身返回字符串,
所以也可以在“那些”返回的字符串上继续调用字符串方法。
这样做的表达式看起来就像方法调用链。
例如:
'Hello!'.upper().lower().upper()
'HELLO!'
'hello'.isalnum()
True
'123'.isdecimal()
True
' ' .isspace()
True
'This Is Title Case'.istitle()
True
'This Is Title Case 123'.istitle()
True
'This Is not Title Case'.istitle()
False
'Hello world!'.startswith('Hello')
True
'Hello world!'.endswith('world!')
True
'abc123'.startswith ('abcdef')
False
'abc123'.endswith('12')
False
'Hello world!'.startswith('Hello world!')
True
'Hello world!'.endswith('Hello world!')
True
join()
方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
join()
方法语法为 str.join(sequence)
,
它可以返回通过指定字符连接序列中元素后生成的新字符串。
', '.join(['cats', 'rats', 'bats'])
'cats, rats, bats'
' '.join(['My', 'name', 'is', 'Simon'])
'My name is Simon'
'ABC'.join(['My', 'name', 'is', 'Simon'])
'MyABCnameABCisABCSimon'
与 join
相反, split()
方法以指定的字符将字符串分割为单个元素,并且返回分割后的字符串列表。
split()
方法语法:
str.split(str="", num=string.count(str))
str
:分隔符,默认为所有的空字符,包括空格、换行(\n
)、制表符(\t
)等。num
:分割次数。默认为 -1, 即分隔所有。
'MyABCnameABCisABCSimon'.split('ABC')
['My', 'name', 'is', 'Simon']
'My name is Simon'.split()
['My', 'name', 'is', 'Simon']
'My name is Simon'.split('m')
['My na', 'e is Si', 'on']
'Hello'.rjust(10)
' Hello'
'Hello'.rjust(20)
' Hello'
'Hello'.ljust(10)
'Hello '
rjust()
和 ljust()
方法的第二个可选参数将指定一个填充字符,取代空格字符。例如:
'Hello'.rjust(20, '+')
'+++++++++++++++Hello'
'Hello'.ljust(20, '-')
'Hello---------------'
center()
字符串方法与 ljust()
与 rjust()
类似,
但它让文本居中,而不是左对齐或右对齐。
例如:
'Hello'.center(20)
' Hello '
'Hello'.center(20, '=')
'=======Hello========'
spam = ' Hello World '
spam.strip()
'Hello World'
spam.lstrip()
'Hello World '
spam.rstrip()
' Hello World'
有一个可选的字符串参数,指定两边的哪些字符应该删除。 在交互式环境中输入以下代码:
spam = 'SpamSpamBaconSpamEggsSpamSpam'
spam.strip('ampS')
'BaconSpamEggs'
'BaconSpamEggs'
编号 | 方法名称 | 功能描述 |
---|---|---|
1 | capitalize() |
将字符串的第一个字符转换为大写 |
2 | center |
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格 |
3 | encode |
以 encoding 指定的编码格式编码字符串 |
4 | join(seq) |
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
5 | len(string) |
返回字符串长度 |
6 | ljust(width[, fillchar]) |
返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格 |
7 | rjust(width[, fillchar]) |
返回一个原字符串右对齐,并使用 fillchar (默认空格)填充至长度 width 的新字符串 |
8 | lower() |
转换字符串中所有大写字符为小写 |
9 | upper() |
转换字符串中的小写字母为大写 |
10 | lstrip() |
截掉字符串左边的空格或指定字符 |
11 | rstrip() |
删除字符串字符串末尾的空格 |
12 | split(sep=None, maxsplit=-1) |
以 sep 为分隔符截取字符串,如果 maxsplit 有指定值,则仅截取 maxsplit+1 个子字符串 |
strip([chars]) |
在字符串上执行 lstrip() 和 rstrip() |
|
13 | replace(old, new[, count]) |
将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 count 次 |
14 | splitlines([keepends]) |
按照行( '\r', '\r\n', \n' )分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False ,不包含换行符,如果为 True ,则保留换行符。 |
15 | swapcase() |
将字符串中大写转换为小写,小写转换为大写 |
16 | zfill (width) |
返回长度为 width 的字符串,原字符串右对齐,前面填充0 |
编号 | 方法名称 | 功能描述 |
---|---|---|
1 | count |
返回子串出现的次数 |
2 | find |
查找子串 sub 在字符串中的位置,如果找不到返回-1 |
3 | rfind(sub[, start[, end]]) |
类似于 find() 函数,不过是从右边开始查找 |
4 | index |
跟 find() 方法一样,只不过如果 sub 不在字符串中会报一个异常 |
5 | rindex(sub[, start[, end]]) |
类似于 index() ,不过是从右边开始 |
编号 | 方法名称 | 功能描述 |
---|---|---|
1 | startswith(prefix[, start[, end]]) |
检查字符串是否是以指定子字符串 prefix 开头 |
2 | endswith |
检查字符串是否以 suffix 结束 |
3 | isalnum |
如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
4 | isalpha |
如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
5 | isdigit |
如果字符串只包含数字则返回 True 否则返回 False |
6 | isnumeric |
如果字符串中只包含数字字符,则返回 True,否则返回 False |
7 | isspace() |
如果字符串中只包含空白,则返回 True,否则返回 False. |
8 | isdecimal() |
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false |
9 | istitle() |
如果字符串是标题化的(见 title() )则返回 True,否则返回 False |
isupper() |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False | |
10 | islower |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |