Python字符串操作
1. 字符串索引
例:
data = 'abcd'
print(data[3])
运行结果:
d
0123 正索引
-4-3-2-1 负索引
2. 字符串切片
data[:] 中括号中 冒号的左边是第一刀 右边是第二刀
例:
data = 'abcd'
# 正索引的切法
print(data[:2])
print(data[1:3])
print(data[2:])
运行结果:
ab
bc
cd
# 负索引的切法
print(data[:-2])
print(data[1:-1])
print(data[-2:])
运行结果:
ab
bc
cd
# 步长
print(data[::2])
# 倒着切
print(data[::-1])
运行结果:
ac
dcba
3. 字符串重要操作方法
|
方法 |
介绍 |
|
len() |
获取容器数据的长度 |
|
join() |
把可迭代对象的元素连接到字符串的末尾。 |
|
replace() |
返回字符串,其中指定的值被替换为指定的值。 |
|
split() |
在指定的分隔符处拆分字符串,并返回列表。 |
|
splitlines() |
在换行符处拆分字符串并返回列表。 |
|
strip() |
返回字符串的剪裁版本。 |
join()
例:
data = 'abcde'
print('+'.join(data))
运行结果:
a+b+c+d+e
replace()
例:
data = 'abccde'
new_data = data.replace('cc', '')
print(new_data)
运行结果:
abde
例:
data = 'abcccccde'
new_data = data.replace('c', '1', 2)
print(new_data)
运行结果:
ab11cccde
split(sep maxsplit)
默认以空格分割
例:
data = 'ab de'
print(data.split())
运行结果:
['ab', 'de']
例:
data = 'ab1de1de'
print(data.split('1', 1))
运行结果:
['ab', 'de1de']
splitlines()
默认以\n分割
例:
data = 'ab\n de\nde'
print(data.splitlines(False)) # \n不保留
print(data.splitlines(True)) # \n保留
运行结果:
['ab', ' de', 'de']
['ab\n', ' de\n', 'de']
strip()
将字符串的左右空白符(所有看不见的数据都是空白符)清除掉
例:
data = ' \n\t\r\vabdede \n\t\r\v'
print(data.strip())
运行结果:
abdede
4. 字符串常用操作方法
|
方法 |
介绍 |
|
upper() |
把字符串转换为大写。 |
|
zfill() |
在字符串的开头填充指定数量的 0 值。 |
|
lower() |
把字符串转换为小写。 |
|
count() |
返回指定值在字符串中出现的次数。 |
|
find() |
在字符串中搜索指定的值并返回它被找到的位置。 |
|
format() |
格式化字符串中的指定值。 |
|
index() |
在字符串中搜索指定的值并返回它被找到的位置。 |
|
isdigit() |
如果字符串中的所有字符都是数字,则返回 True。 |
upper()
例:
data = 'abcdDBSERT123$%^'
print(data.upper())
lower()
例:
data = 'abcdDBSERT123$%^'
print(data.lower())
zfill()
例:
data = '12'
print(data.zfill(5))
运行结果:
00012
count()
例:
data = 'aaabbbccc123123123'
print(data.count('0'))
print(data.count('a'))
print(data.count('123'))
运行结果:
0
3
3
find()
没有找到返回-1
例:
data = 'aaabbbccc123123123'
print(data.find('b'))
print(data.find('0'))
运行结果:
3
-1
index()
没有找到报错 ValueError: substring not found
例:
data = 'aaabbbccc123123123'
print(data.index('b'))
print(data.index('0'))
运行结果:
报错
3
isdigit()
例:
data = '12345'
print(data.isdigit())
运行结果:
True
例:
data = '12345X'
print(data.isdigit())
运行结果:
False
5. 其他字符串操作
isdecimal() 如果字符串中都是一个十进制字符串,返回True
例:
data = '1.2'
print(data.isdecimal())
运行结果:
False
ljust() 返回字符串的左对齐版本
例:
data = '123'
print(data.ljust(5, '#'))
print(data.rjust(5, '@'))
运行结果:
123##
@@123
例:在字符串中索引a
data = 'abaaaaaacabcabc'
s = 0
for i in data:
if i == 'a':
print(s, i)
s += 1
运行结果:
0 a
2 a
3 a
4 a
5 a
6 a
7 a
9 a
12 a
例:
将一个字符‘hello world’, 将l使用a替换后,
并将所有o删掉,请将程序结果打印出来 答案:heaa wrad
代码1:
data = 'hello world'
print(data.replace('l', 'a').replace('o', ''))
代码2:
a = 'hello world' # hell wrld
print(''.join(a.replace('l','a').split('o')))

浙公网安备 33010602011771号