目录
字符串是一种序列,前面一章中列表和元组中的一些概念和操作,也适用于字符串。
-
for循环迭代
for char in 'string' :
print(char)
-
索引下标
my_string = 'my_string'
print(my_string[3])
-
len函数
my_string = 'my_string'
print(len(my_string))
-
字符串连接
message = 'Hello,' + ' world'
message += '!'
print(message)
注意,字符串是不可变的,不能使用my_string[0] = 'X'这样的方式更改字符串内容
-
字符串切片
nums = '0123456789'
print(nums[1:3]) #'12'
print(nums[:3]) #'012'
print(nums[2:]) #'23456789'
print(nums[:]) #'0123456789'
print(nums[0:5:2]) #'024'
print(nums[-1:]) #'9'
print(nums[4:90]) #'456789'
print(nums[-20:-7]) #'012'
print(nums[100:200]) #''
子串是当前字符串的副本,由起始和结束两个索引确定范围,包含起始索引元素,但不包含结束索引元素。
如果省略起始索引,则起始为0。如果省略结束索引,则结束索引为字符串长度。
切片支持步长。也支持负索引。
注意:切片无效索引不会引起异常,python会与省略索引相同的规则处理。
如果起始大于结束,则返回空字符串
-
用in和not in测试字符串
message = 'Hello, world!'
if 'Hello' in message :
print('found Hello')
-
字符串测试方法
'12345'.isdigit()
'abcde'.isalpha()
'abc123'.isalnum()
'abc123'.islower()
' '.isspace()
'ABC123'.isupper()
以上均返回True
-
字符串修改方法
print('ABC123'.lower())
print(' abc123'.lstrip())
print('abc123'.lstrip('a'))
print('abc123 '.rstrip())
print('abc123'.rstrip('3'))
print(' abc123 '.strip())
print('abc123cba'.strip('a'))
print('abc123'.upper())
简单介绍lower、upper、strip、lstrip和rstrip几个字符串方法。更详细的可查看python文档。
注意返回的是字符串的副本
-
搜索和替换
if 'filename.txt'.endswith('txt') :
print('is TXT file')
if '2023-01-01'.startswith('2023') :
print('is this year')
if 'pi=3.1415926535897932'.find('3.14') :
print('we may find pi')
print('Hello, world'.replace('world', 'Alice'))
-
重复
print('hello ' * 5)