>>> from env_helper import info; info()
页面更新时间: 2023-06-23 08:10:12
运行环境:
Linux发行版本: Debian GNU/Linux 12 (bookworm)
操作系统内核: Linux-6.1.0-9-amd64-x86_64-with-glibc2.36
Python版本: 3.11.2
6.2. 有用的字符串方法¶
6.2.1. 字符串方法 upper()
、lowed()
、 isupper()
和 islower()
¶
upper()
和 lower()
字符串方法返回一个新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。
字符串中非字母字符保持不变。例如:
>>> 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!'
6.2.2. isX
字符串方法¶
下面是一些常用的 isX
字符串方法:
isalpha()
返回True
,如果字符串只包含字母,并且非空;isalnum()
返回True
,如果字符串只包含字母和数字,并且非空;isdecimal()
返回True
,如果字符串只包含数字字符,并且非空;isspace()
返回True
,如果字符串只包含空格、制表符和换行,并且非空;istitle()
返回True
,如果字符串仅包含以大写字母开头、后面都是小写字母的单词。
在交互式环境中输入以下代码:
>>> '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
6.2.3. 字符串方法 startswith()
和 endswith()
¶
如果它们所调用的字符串以该方法传入的字符串开始或结束, startswith()
和 endswith()
方法返回 True
。 否则,方法返回 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
6.2.4. 字符串方法 join()
和 split()
¶
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']
6.2.5. 用 rjust()
、 Ijust()
和 center()
方法对齐文本¶
rjust()
和 ljust()
字符串方法返回调用它们的字符串的填充版本,通过插入空格来对齐文本。
这两个方法的第一个参数是一个整数长度,用于对齐字符串。例如:
>>> '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========'
6.2.6. 用 strip()
、rstrip()
和 Istrip()
删除空白字符¶
strip()
字符串方法将返回一个新的字符串,它的开头或末尾都没有空白字符。
lstrip()
和 rstrip()
方法将相应删除左边或右边的空白字符。
在交互式环境中输入以下代码:
>>> spam = ' Hello World '
>>> spam.strip()
'Hello World'
>>> spam.lstrip()
'Hello World '
>>> spam.rstrip()
' Hello World'
有一个可选的字符串参数,指定两边的哪些字符应该删除。 在交互式环境中输入以下代码:
>>> spam = 'SpamSpamBaconSpamEggsSpamSpam'
>>> spam.strip('ampS')
>>> 'BaconSpamEggs'
'BaconSpamEggs'