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')))

posted @ 2023-02-21 10:18  豆汤包饺子  阅读(147)  评论(0)    收藏  举报