一、字符串的下标(索引)

# 获取正负索引数据

sub_str = str_data[1]  # y # [正索引]0开始 取索引的格式  下标  获取单个数据
print(sub_str)

sub_str = str_data[-2]  # o # [负索引]从-1开始 
print(sub_str)

二、字符串的切片

1、# 字符串切片
str_data = 'python'
sub_str = str_data[2:4]  # th
print(sub_str)

sub_str = str_data[4:]  # on
print(sub_str)

sub_str = str_data[:3]  # pyt
print(sub_str)

sub_str = str_data[-1:]  # 负索引  #n
print(sub_str)

sub_str = str_data[:-1]  # 负索引  #pytho
print(sub_str) 
# 取单个多个数据
data1 = str_data[1]
data2 = str_data[-2]

2、# 取单个数据用索引 取多个数据用切片

 

3、# 连续取索引和切片

str_data = 'abcdef'
print(str_data[1:][1:][1:-1])  # de

4、#切片步长

str_data = 'abcdef'  # bcde  be
# str_data[第一刀:结尾刀:步长]
print(str_data[1:-1:1])  # bcde
print(str_data[1:-1:2])  # be

 

5、# 倒置

str_data = 'abcdef'
print(str_data[::-1])  # fedcba #改变步长 数据从后面往前获取

三、常用操作方法

方法

介绍

join()

把可迭代对象的元素连接到字符串的末尾。

replace()

返回字符串,其中指定的值被替换为指定的值。

split()

在指定的分隔符处拆分字符串,并返回列表。

splitlines()

在换行符处拆分字符串并返回列表。

strip()

返回字符串的剪裁版本。

 

方法

介绍

upper()

把字符串转换为大写。

zfill()

在字符串的开头填充指定数量的 0 值。

lower()

把字符串转换为小写。

count()

返回指定值在字符串中出现的次数。

find()

在字符串中搜索指定的值并返回它被找到的位置。

format()

格式化字符串中的指定值。

index()

在字符串中搜索指定的值并返回它被找到的位置。

isdigit()

如果字符串中的所有字符都是数字,则返回 True。

1、# join()    #将容器类的数据 以某个字符 进行拼接

str_data = 'python'
print('  '.join(str_data))  # p  y  t  h  o  n

注意join使用顺序,拼接的字符串在前面

2、replace() 返回字符串,其中指定的值被替换为指定的值

str_data = 'python'
new_str = str_data.replace('n', 'a')
print(str_data)  # python
print(new_str)  # pythoa


# 字符串、数字 不可变数据类型。因此变量内存地址不变,值不变
# 列表、字典、集合 可变数据类型;

3、split() 在指定的分隔符处拆分字符串,并返回列表。

str_data = 'hello world'
new_str = str_data.split()  # ['hello', 'world']  默认对空格进行分割
# new_str = str_data.split('o')   #['hell', ' w', 'rld']
print(new_str)

splitlines()  在换行符处拆分字符串并返回列表。
# str_data.splitlines()  # 默认对\n进行分割

4、strip()    返回字符串的剪裁版本 去除字符串两边的空白符  \r  \t  \n

str_data = ' \r \t \n hello world \r \t \n '    # hello world
new_str = str_data.strip()  # 默认对空格进行分割
print(new_str)# 重点 join() replace() split()

5、# upper()  把字符串转换为大写

str_data = 'Python'
print(str_data.upper())     # PYTHON


# # lower()   把字符串转换为小写

str_data1 = 'a.png'
str_data2 = 'b.PNG'
if '.PNG' in str_data2.upper():  # 判断文件是否图片格式
    pass
if '.png' in str_data1.lower():
    pass

6、# count() 返回指定值在字符串中出现的次数。找里面出现多少个数据

str_data = 'Python aaa'
print(str_data.count('aa'))  # 1

7、# format()  格式化字符串中的指定值

8、# find()    在字符串中搜索指定的值并返回它被找到的位置
str_data = 'Python'
print(str_data.find('o'))  # 4 # 如果有多个,返回第一个
print(str_data.find('w'))  # -1 # 找不到返回-1
# index()   在字符串中搜索指定的值并返回它被找到的位置
print(str_data.index('o'))  # 4
# print(str_data.index('w'))  # 找不到报错 ValueError: substring not found

9、# isdigit() 如果字符串中的所有字符都是数字,则返回 True
s = '123'
# s = '123a'  # 不能进行转换
print(s.isdigit())  # True
if s.isdigit():
    print(int(s))   # 123
else:
    print('不能进行转换')

四、较常用的方法:

isalnum() 如果字符串中的所有字符都是字母数字,则返回 True。
swapcase() 切换大小写,小写成为大写,反之亦然。

title() 把每个单词的首字符转换为大写。

ljust() 返回字符串的左对齐版本。

lstrip() 返回字符串的左修剪版本。