# 1.索引(下标)
print('1.索引')
str_data = 'Python'
# [索引(下标)]取索引的格式
# 正负索引
# 获取单个数据
sub_str = str_data[4]
print(sub_str)
sub_str = str_data[-2]
print(sub_str)

python中的字符串操作

# 2.字符串切片
# 取单个数据用索引
# 取多个数据用切片
print()
print('2.字符串切片')
str_data = 'abcdef'
sub_str = str_data[2:4]  # cd
print(sub_str)
sub_str = str_data[4:]  # ef
print(sub_str)
sub_str = str_data[:3]  # abc
print(sub_str)
sub_str = str_data[-1:]  # f
print(sub_str)
sub_str = str_data[:-1]  # abcde
print(sub_str)

python中的字符串操作

# 3.倒置
print()
print('3.倒置')
str_data = 'abcdef'
print(str_data[::-1])  # 改变步长,数据从后面开始获取

python中的字符串操作

# 4.字符串的方法操作
print()
print('4.字符串的常规操作')
# join() 将容器类的数据以某个字符进行拼接
print('join()')
str_data1 = 'python'
print('*'.join(str_data1))  # 注意这个格式!!!
# replace() 返回字符串,其中指定的值被替换为指定的值。
# str_data1.replace(被替换的字符,替换为的字符,替换的次数)
print()
print('replace()')
str_data2 = 'aabbcc'
str_new = str_data2.replace('c', 'd')  # 替换次数不写默认为全部
print(str_new)
print(str_data2)  # 原字符串没有改变,因为字符串是不可变类型!
# split() 在指定的分隔符处拆分字符串,并返回列表。
# 同时选为分隔符的字符被删除
print()
print('split()')
str_data3 = 'hello world'
str_new = str_data3.split()  # 默认是对空格进行分割
print(str_new)
# splitlines() 在换行符处拆分字符串并返回列表。
print()
print('splitlines()')
str_data4 = 'hello world'
new_str = str_data4.splitlines()  # 默认对\n进行分割
print(new_str)
# 没有\n则不分割
# strip() 返回字符串的剪裁版本。
# 去除字符串两边的空白符
# 空白符: 空格 \r \t \n等
print()
print('strip()')
str_data5 = '\r \t \n hello \r \t \n'
new_str = str_data5.strip()
print(new_str)
# upper() 把字符串转换为大写。
# lower() 把字符串转换为小写。
# 只能转换字母
print()
print('upper() lower()')
str_data6 = 'Python'
print(str_data6.upper())
print(str_data6.lower())
# zfill() 在字符串的开头填充指定数量的0值。
print()
print('zfill()')
for i in range(5):  # 3位数
    print(str(i).zfill(3))
# count() 返回指定值在字符串中出现的次数。
print()
print('count()')
str_data7 = 'Pythonnn'
print(str_data7.count('P'))  # 1
print(str_data7.count('n'))  # 3
# find() 在字符串中搜索指定的值并返回它被找到的索引。
print()
print('find()')
str_data8 = 'Pythono'
print(str_data8.find('o'))  # 返回找到的第一个的索引4
print(str_data8.find('w'))  # 没找到就返回-1
# index() 在字符串中搜索指定的值并返回它被找到的索引。
print()
print('index()')
str_data9 = 'Python'
print(str_data9.index('o'))  # 4
# print(str_data9.index('w'))  # 没找到就报错
# isdigit() 如果字符串中的所有字符都是数字,则返回True。
print()
print('isdigit()')
s = '123'
print(s.isdigit())  # True
s1 = '123a'
print(s1.isdigit())  # False
s = '123456'
if s.isdigit():
    print(int(s))
else:
    print('不能够进行转换')

python中的字符串操作

# 今日作业
'''
将一个字符'hello world',将l使用a替换后
并将所有o删掉,
请将程序结果打印出来
答案:heaa wrad
'''
print()
print('今日作业')
str_data0 = 'hello world'
new_str = str_data0.replace('l', 'a')  # a被l替换
new1_str = new_str.replace('o', '')  # o被''替代,相当于删除
print(new1_str)

python中的字符串操作