Python-字符串方法
在本教程中,我们将学习Python中的字符串方法。
Python为我们提供了一些内置的字符串方法,开发人员可以使用它们来修改和使用字符串。
以下是一些带有示例的常用Python字符串方法。
capitalize
此方法将大写字符串的首字母,即将小写字母转换为大写字母。
在下面的示例中,我们使用" capitalize()"方法转换给定的字符串。
# string str = 'hello world' # covert result = str.capitalize() # output print(result)
我们将获得以下输出。
Hello world
find
该方法将在给定的" haystack"字符串或者给定的" haystack"字符串的子字符串中找到" needle"。
语法
haystack.find(needle, start, end)
其中,开始和结束是可选的。
如果设置了开始,那么我们将从开始索引开始搜索。
如果设置了end,那么我们搜索直到该索引,但不包括end索引。
如果在给定的" haystack"字符串或者给定的" haystack"字符串的子字符串中找到" needle",则返回索引。
如果未找到" needle",则返回-1。
在以下示例中,我们使用find()
方法在给定字符串中查找"行"。
# string needle = "row" haystack = "The quick brown fox jumps over the lazy dog." # find print(haystack.find(needle)) # 11 print(haystack.find(needle, 15)) # -1 print(haystack.find(needle, 0, 15)) # 11 print(haystack.find(needle, 10, len(haystack))) # 11
在第一个示例中,我们正在检查干草堆字符串中是否存在针。
在第二个示例中,我们从大海捞针中的索引15开始搜索。
在第三个示例中,我们从索引0到15进行搜索。
在第四个示例中,我们从索引10开始搜索,直到大海捞针结束为止。
index
此方法类似于find方法,将在给定的" haystack"字符串或者给定的" haystack"字符串的子字符串中搜索" needle"。
语法
haystack.index(needle, start, end)
其中,开始和结束是可选的。
如果设置了开始,那么我们将从开始索引开始搜索。
如果设置了end,那么我们搜索直到该索引,但不包括end索引。
如果在给定的" haystack"字符串或者给定的" haystack"字符串的子字符串中找到" needle",则返回索引。
如果找不到针头,则会引发异常。
len
此方法将返回给定字符串中的字符总数。
在下面的示例中,我们使用len()
方法查找字符串中的字符总数。
# string str = 'HELLO WORLD' # compute result = len(str) # output print(result) # 11
lower
此方法会将给定的字符串转换为小写。
在下面的示例中,我们使用lower()
方法转换给定的字符串。
# string str = 'HELLO WORLD' # covert result = str.lower() # output print(result) # hello world
lstrip
此方法用于删除字符串左侧的空格。
# string str = ' HELLO WORLD' # compute result = str.lstrip() # output print(result) # HELLO WORLD
我们还可以删除特定字符。
# string str = '>>>>>>HELLO WORLD' # compute result = str.lstrip('>') # output print(result) # HELLO WORLD
rstrip
此方法用于删除字符串右侧的空格。
# string str = 'HELLO WORLD ' # compute result = str.rstrip() # output print(result) # HELLO WORLD
我们还可以删除特定字符。
# string str = 'HELLO WORLD--------' # compute result = str.rstrip('-') # output print(result) # HELLO WORLD
strip
此方法用于删除字符串两侧的空格。
# string str = ' HELLO WORLD ' # compute result = str.strip() # output print(result) # HELLO WORLD
我们还可以删除特定字符。
# string str = '-------HELLO WORLD--------' # compute result = str.strip('-') # output print(result) # HELLO WORLD
swapcase
此方法将交换给定字符串中的大小写。
在下面的示例中,我们使用swapcase()
方法交换给定字符串中的大小写。
# string str = 'Hello World 123' # covert result = str.swapcase() # output print(result) # hELLO wORLD 123
upper
此方法会将给定的字符串转换为大写。
在下面的示例中,我们使用upper()
方法转换给定的字符串。
# string str = 'hello world 123' # covert result = str.upper() # output print(result) # HELLO WORLD 123
检查字符串
以下是一些我们可以用来检查给定字符串的字符的字符串方法。
isalnum
如果给定字符串中的所有字符都是字母数字字符(小写,大写字母或者数字),则此方法将返回True,否则返回False。
在下面的示例中,我们使用isalnum()
方法检查给定的字符串是否仅包含字母数字字符。
# example 1 str = 'theitroadtheitroad' print(str.isalnum()) # True # example 2 str = '2016' print(str.isalnum()) # True # example 3 str = 'hello2016' print(str.isalnum()) # True # example 4 str = 'theitroad' print(str.isalnum()) # False # example 5 str = 'year-2016' print(str.isalnum()) # False
示例4和5给出False,因为它们包含至少一个非字母数字字符。
isalpha
如果给定字符串中的所有字符均为字母字符(小写和大写字母),则此方法将返回True,否则返回False。
在下面的示例中,我们使用isalpha()
方法检查给定的字符串是否仅包含字母字符。
# example 1 str = 'theitroadtheitroad' print(str.isalpha()) # True # example 2 str = '2016' print(str.isalpha()) # False # example 3 str = 'hello2016' print(str.isalpha()) # False # example 4 str = 'theitroad' print(str.isalpha()) # False # example 5 str = 'year-2016' print(str.isalpha()) # False
仅示例1为True,其他示例为False,因为它们的其余部分至少包含一个非字母字符。
isdigit
如果给定字符串中的所有字符都是数字字符(0-9),则此方法将返回True,否则返回False。
在下面的示例中,我们使用isdigit()
方法检查给定的字符串是否仅包含数字字符。
# example 1 str = 'theitroadtheitroad' print(str.isdigit()) # False # example 2 str = '2016' print(str.isdigit()) # True # example 3 str = 'hello2016' print(str.isdigit()) # False # example 4 str = 'theitroad' print(str.isdigit()) # False # example 5 str = 'year-2016' print(str.isdigit()) # False
只有示例2为True,其他示例为False,因为它们的其余部分至少包含一个非数字字符。
isnumeric
如果给定字符串中的所有字符均为数字字符(0-9),则此方法将返回True,否则返回False。
仅在unicode对象上使用。
因此,我们将在字符" u" 2016"或者" uusuf theitroad"之前加上" u"字符。
在下面的示例中,我们使用isnumeric()
方法检查给定的字符串是否仅包含数字字符。
# example 1 str = u'theitroadtheitroad' print(str.isdigit()) # False # example 2 str = u'2016' print(str.isdigit()) # True # example 3 str = u'hello2016' print(str.isdigit()) # False # example 4 str = u'theitroad' print(str.isdigit()) # False # example 5 str = u'year-2016' print(str.isdigit()) # False
仅示例2为True,其他示例为False,因为它们的其余部分至少包含一个非数字字符。
islower
如果给定字符串中所有基于大小写的字符都是小写字母字符(a-z),则此方法将返回True,否则返回False。
在下面的示例中,我们使用islower()
方法检查给定的字符串是否包含字母字符,并且所有这些字母字符均小写。
# example 1 str = 'theitroadtheitroad' print(str.islower()) # True # example 2 str = '2016' print(str.islower()) # False # example 3 str = 'hello2016' print(str.islower()) # True # example 4 str = 'theitroad' print(str.islower()) # False # example 5 str = 'year-2016' print(str.islower()) # True
示例1为True,因为它包含字母字符,并且全部为小写字母。
示例3和5为True,因为它们包含字母字符以及非字母字符。
但是所有的字母字符都小写。
示例2为False,因为它仅包含数字。
示例5为False,因为它包含字母和非字母字符,但并非所有字母都小写。
isupper
如果给定字符串中所有基于大小写的字符均为大写字母字符(A-Z),则此方法将返回True,否则返回False。
在下面的示例中,我们使用isupper()
方法检查给定的字符串是否包含字母字符,并且所有这些字母字符均大写。
# example 1 str = 'theitroadtheitroad' print(str.isupper()) # False # example 2 str = '2016' print(str.isupper()) # False # example 3 str = 'hello2016' print(str.isupper()) # False # example 4 str = 'theitroad' print(str.isupper()) # False # example 5 str = 'year-2016' print(str.isupper()) # False # example 6 str = 'HELLO' print(str.isupper()) # True
仅示例6为True,因为它包含大写字母和字母字符。
isspace
如果给定字符串中的所有字符都是空格字符,则此方法将返回True,否则返回False。
在下面的示例中,我们使用isspace()方法检查给定的字符串是否仅包含空格字符。
# example 1 str = ' ' print(str.isspace()) # True # example 2 str = ' ' print(str.isspace()) # True # example 3 str = 'hello2016' print(str.isspace()) # False # example 4 str = 'theitroad' print(str.isspace()) # False # example 5 str = 'year-2016' print(str.isspace()) # False
仅示例1和2包含空白字符,其他字符混合在一起。