Python-字符串方法

时间:2020-02-23 14:43:29  来源:igfitidea点击:

在本教程中,我们将学习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包含空白字符,其他字符混合在一起。