>>> 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'