Python教程-Python子字符串
字符串定义
"字符串是多个代码字符的序列。字符串包括一组字符,这些字符可以包括字母数字和特殊字符。"
在Python语言中,字符串是最常见的样式之一。通过将字符字面上放在引号中,我们可以构建字符串。Python会像处理双引号一样处理单引号。构建字符串和为变量分配值一样简单。
例如-
Variable1 = "Hello Python"
Variable2 = "Welcome to the world of Python"
预定义字符串方法
在这里,我们将讨论一些在Python中用于操作字符串的方法。它们如下表所示-
序号 | 方法 | 描述 |
---|---|---|
1. | Center() | 返回一个以输入字符串位于列的完整宽度为基础的空格填充字符串。 |
2. | Count() | 如果指定了开始列表的开始和停止索引,则用于计算'str'在序列或字符串的子字符串中出现的次数。 |
3. | Capitalize() | 此方法用于使字符串的第一个字母大写。 |
4. | endswith() | 定义字符串或字符串子串是否以后缀(如果提供了开始列表的开始和停止索引)结束;如果是,则返回true,否则返回false。 |
5. | encode() | 此方法返回字符串的加密字符串表示形式;如果出现错误,默认情况下会引发ValueError,直到通过'ignore'或'replace'指定错误为止。 |
6. | decode() | 此技术将允许您使用用于加密的授权编码器来解密字符串。用于标准字符串编码的高级编码。 |
7. | expandtabs() | 它用于将字符串段扩展到多个空格;如果未提供段,则默认需要每个段8个空格。 |
8. | find() | 此方法确定字符串或子字符串中是否出现str,如果索引被计算则返回索引,否则返回-1。 |
9. | index() | index()方法的工作方式与find()方法相似,但如果未找到str,则引发异常。 |
10. | isalpha() | 如果序列中至少有1个字母且所有字母都是字母,则返回true,否则返回false。 |
11. | isalnum() | 如果序列包含至少一个字母且所有字母都是字母数字字符,则返回true,否则返回false。 |
12. | islower() | 如果字符串仅包含一个字母且所有大小写字母都以小写形式表示,则返回true;否则返回false。 |
13. | isdigit() | 它用于在序列中有数字时返回true,否则返回false。 |
14. | istitle() | 如果序列以'titlecase'适当开头,则istitle()方法返回true,否则返回false。 |
15. | isnumeric() | 它用于在unicode序列中只有数字字符时返回有效,否则返回false。 |
16. | isspace() | 如果字符串只包含空白字符,则此方法返回true,否则返回false。 |
17. | isupper() | 如果字符串包含至少一个大小写字母并且所有大小写字母都以大写形式表示,则isupper()方法返回true,否则返回false。 |
18. | len() | len()方法可帮助您找到字符串的大小或长度。 |
19. | join() | 此函数将序列seq中的项目描述合并(连接)成一个带有字符串分隔符的字符串。 |
20. | maketrans() | 此方法将允许您返回用于执行转换操作的转换表。 |
21. | lower() | 这将帮助您将字符串的所有大写字符转换为小写。 |
22. | ljust() | 这将用于将空格填充的序列分配给最大列宽,初始字符串左对齐。 |
23. | istrip() | 此方法将帮助您删除所有尾随字符串空格。 |
24. | replace() | 用于替换字符串中的所有现有表示形式以及如果提供了最大表示形式则至多替换最大表示形式。 |
25. | max() | 此方法用于从序列str返回字母最多的最大字母。 |
26. | min() | 此方法用于从序列str返回字母最多的最小字母。 |
27. | rjust() | 它将用于将空格填充的序列分配给最大列宽,初始字符串右对齐。 |
28. | rfind() | rfind()方法的工作方式与find()方法相似,但它在反向字符串中搜索。 |
29. | rindex() | rindex()函数的工作方式与index()函数相似,但它查找反向字符串。 |
30. | strip() | 此方法用于执行rstrip()和lstrip()函数的功能。 |
31. | startswith() | 用于确定序列或子字符串序列是否以str开头(如果提供了开始列表的开始和结束索引);如果是,则返回true,否则返回false。 |
32. | split() | 用于拆分序列以便根据指定的分隔符(如果未提供则为存储)并返回子字符串数组;如果提供,则分隔为最大数量的子字符串。 |
33. | spilitlines() | 用于将字符串分隔到所有NEWLINE(或num)并返回每行的列表,其中删除了NEWLINE。 |
34. | translate() | 用于根据转换表中的str(256个字符)将字符串转换为消除del系列中的字符串。 |
35. | swapcase() | swapcase()方法用于反转所有序列字母的条件。 |
36. | title() | 用于返回字符串的描述版本,即所有术语以大写字母开头,其余以小写字母开头。 |
37. | isdecimal() | 用于返回unicode序列中是否只有十进制字母,如果是,则返回true,否则返回false。 |
38. | zfill() | 此方法将帮助您返回带有零的原始左填充序列,最多为宽度字母;zfill()保留了数字的任何指定签名(少一个零)。 |
39. | upper() | 这将帮助您将字符串的所有小写字符转换为大写。 |
40. | rstrip() | 用于消除所有前导序列空格。 |
什么是子字符串
"子字符串是在适当的语言分析和计算机科学中字符串内的一个顺序字符段。"
换句话说,"字符串的一部分是子字符串。Python字符串指定了多种构建子字符串、检查是否包含子字符串、子字符串索引等技巧。"
例如,"the better of"的子字符串是"It was the better of times"。这不应与子串混淆,后者是一个概括性的子串。
例如,"Itwastimes"是一个"It was the better of times"的序列,但不是一个子串。
在本文中,我们将以最简单的方式解释Python子字符串以及其如何工作。
- 创建子字符串
我们可以使用字符串切片来创建子字符串。我们应该使用split()方法来根据指定的分隔符创建子字符串数组。
语法
Python中创建子字符串的语法如下所示-
S = 'Welcome to the python world'
name = s[10:] // substring creation with the help of slice
print[name]
A1 = s.split()
Print(A1) // Array of substring with the help of split() method
这里,索引从0开始。
示例
>>> s = 'Welcome to the python world'
>>> s[10:]
'python'
>>> s.split()
['Welcome', 'to', 'the', 'python', 'world']
>>>
输出:
成功执行代码后,我们得到了以下屏幕。
- 检查是否找到子字符串
我们可以使用find()方法或in运算符来评估子字符串是否在序列中可用。
语法
检查子字符串是否在字符串中的语法如下所示-
s = 'Welcome to the python world'
if 'Name' in s: // Checking substring with the help of in operator
print('Substring found')
if s.find('Name') != -1: // Checking substring with the help of find()
print('Substring found')
这里,find()方法返回子字符串位置的索引,如果匹配则返回,否则返回-1。
示例代码
>>> s = 'Welcome to the python world'
>>>
>>> if 'name' in s:
Print ('Substring found')
...
Substring found
>>>
>>> if s.find('name') ! = -1:
Print ('Substring found')
...
Substring found
>>>
- 检查子字符串出现的次数
我们可以使用count()方法来确定数组中子字符串的出现次数。
语法
检查子字符串出现的次数的语法如下-
s = ' Welcome to the python world '
print('Substring count =', s.count('c'))
s = 'Python is a best language'
print('Substring count =', s.count('Py'))
示例代码
>>> s = ' Welcome to the python world '
>>> print('Substring count =', s.count('c'))
>>> s = 'Python is a best language'
>>> print('Substring count =', s.count('Py'))
>>>
输出
在执行上述代码后,我们得到了以下输出。
- 查找子字符串的所有索引
Python语言没有内置函数来获取所有子字符串索引值的数组。尽管如此,我们可以使用find()方法来简单地实现这一点。
语法
查找所有子字符串索引的语法如下所示-
def find_all_indexes (input_str, substring):
s = 'Python is the best programming language'
print(find_all_indexes(s, 'Py'))
示例代码
>>> def find_all_indexes(input_str, substring):
? L2 = []
? length = Len(input_str)
? index = 0
? while index < Length:
? i = input_str.find(substring, index)
? if i == -1:
? return L2
? L2.append(i)
? index = i + 1
? return L2
?
>>> s = ' Python is the best programming language '
>>> print(find_all_indexes(s, 'Py'))
输出:
在成功执行上述程序代码后,我们得到了以下输出。
- 使用起始索引而没有结束索引进行切片
这将返回从数组位置5开始的切片字符串,直到Python序列的最后一个。
语法
使用起始索引而没有结束索引进行子字符串切片的语法如下-
s = s[ startIndex : ]
示例代码
// Substring or slicing with the help of start index without end index
>>> s = 'It is to demonstrate substring functionality in python.'
>>> s [5:]
输出
执行上述代码后,我们得到了以下屏幕。
- 使用结束索引而没有起始索引进行切片
这将返回从开始到end-index-1的切片字符串。
语法
使用结束索引而没有起始索引进行子字符串切片的语法如下-
s = s[ : endIndex ]
示例代码
// Substring or slicing with the help of end index without start index
>>> s = 'Python is a powerful programming language'
>>> s [7:]
输出
执行上述代码后,我们得到了以下屏幕。
- 使用完整字符串进行切片
它可以帮助您获取整个字符串作为输出。
语法
切片完整子字符串的语法如下-
s = s[ : ]
示例代码
// Substring or slicing of complete string
>>> s = 'Python is a robust programming language.'
>>> s [ : ]
输出
执行上述代码后,我们得到了以下屏幕。
- 从字符串中切片一个字符
它会从字符串中返回一个切片字符。
语法
从字符串中切片一个字符的语法如下-
s = s[ index ]
示例代码
// Substring or slicing of a single character
>>> s = 'Python is a widely used language.'
>>> s [ 12 ]
输出
成功执行上述代码后,我们得到了以下输出。
- 使用负(-)步骤进行字符串翻转
它将帮助您以相反的顺序返回字符串。
语法
使用负值(-)步骤进行字符串切片的语法如下-
s = s[ : : negative value ]
示例代码
// Reversing of a string with the help of Substring or slicing through negative step
>>> s = 'Python language supports the string concept.'
>>> s [ : : -1 ]
输出
成功执行上述程序代码后,我们得到了以下输出。
负索引的工作原理
在下表中演示了负索引的工作功能-
P | Y | T | H | O | N | |
---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | |
-5 | -4 | -3 | -2 | -1 | -0 |
在上表中,我们取了一个单词Python,以演示负索引的确切工作功能。
- 使用负(-)索引进行字符串切片
它用于使用负索引切片或子字符串字符串。序列索引从0到5,我们也将使用负索引。
语法
使用负索引进行字符串切片的语法如下-
s = s[ 0 : negative value ]
示例代码
// Substring or slicing of a string through a negative index
>>> s = 'PYTHON'
>>> s [ 0 : -4 ]
输出
成功执行上述程序代码后,我们得到了以下输出。
- 使用正(+)索引进行字符串切片
它用于使用正索引切片或子字符串字符串。
语法
使用正索引进行字符串切片的语法如下-
s = s[ 0 : positive value ]
示例代码
// Substring or slicing of a string through a positive index
>>> s = 'PYTHON'
>>> s [ 0 : -2 ]
输出
成功执行上述程序代码后,我们得到了以下输出。
- 使用列表推导来获取所有子字符串
它使用字符串切片和列表推导来返回字符串的完整子字符串。
示例代码
// Using slicing and list comprehension of string's substring
>>> s = 'PYTHON'
>>> str = [s[ i : j] ]
for i in range (Len(s))
for j in range (i + 1, Len(s) + 1)
print (str)
输出
成功执行上述程序代码后,我们得到了以下输出。