07字符串操作

字符串(str)

字符串的下标(索引)

str_data = "python"

p y t h o n

0 1 2 3 4 5

-6 -5 -4 -3 -2 -1

索引就是某数据在序列的位置

  • 正索引:从左至右,从0开始
  • 负索引:从右至左,从-1开始
  • 其中:str_data[0] = str_data [-6] = 'p',str_data[1] =str_data[-5],......

字符串的切片

切片即给定一个字符串,从头部或尾部截取指定数量的字符串。

语法:str[start_index: stop_index: step]

  • 起始位置 : start_index (空时默认为 0)
  • 终点位置: stop_index (空时默认为列表长度) 需要注意起点与终点索引的位置关系。
  • 步长: step (空时默认为 1,不能为 0)

str_data[0:2] = str_data = [-6:-4] "py",......

若要取"po" = str_data[0:5:4]

字符串倒置:

  • str_data[::-1] = "nohtyp"

ps:1)字符串切片范围需要满足左闭右开;2)起始值到终止值与步长的方向必须一致

字符串常用操作方法

重要字符串方法

方法 描述
join() 将序列中的元素以指定的字符连接生成一个新的字符串
replace() 返回字符串,其中指定的值被替换为指定的值
split() 在指定的分隔符处拆分字符串并返回列表
splitlines() 在换行符处拆分字符串并返回列表
strip() 返回字符串的裁剪版本,默认是去除字符串两边的空白符 \r \t \n
# 字符串是不可变数据类型,这些方法不会改变原有的数据

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

# replace()(不会修改字符串)
# 语法:字符串.replace(字符串1,字符串2)
# 功能:将字符串内的全部:字符串1,替换为字符串2
# 注意:不是修改字符串本身,而是得到了一个新字符串
str_data = "python"
new_str = str_data.replace('n', 'a')
print(new_str)      # pythoa
print(str_data)     # python

# split()(不会修改字符串)
# 语法:字符串.split(分隔字符串)
# 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象
# 注意:字符串本身不变,而是得到了一个列表对象
str_data = "hello world"
new_str = str_data.split()  # 默认对空格进行分割
print(new_str)      # ['hello', 'world']
print(str_data)     # hello world

# splitlines()(不会修改字符串)
str_data = "hello\nworld"
new_str = str_data.splitlines()
print(new_str)  # ['hello', 'world']

# strip()字符串的规整操作
# 字符串的规整操作(不传入参数,去除前后空格)
# 语法:字符串.strip()
my_str = "  python  "
print(my_str.strip())	# 结果: "python"	
# 字符串的规整操作(去除前后指定字符串)
# 语法:字符串.strip(字符串)
my_str = "12python21"
print(my_str.strip("12"))		# 结果:"python"
# 注意:传入的是“12”其实就是:”1”和”2”都会移除,是按照单个字符。

常用字符串方法

方法 描述
upper() 把字符串转换为大写
zfill() 在字符串的开头填充指定数量的 0 值
lower() 把字符串转换为小写
count() 返回指定值在字符串中出现的次数
find() 在字符串中搜索指定的值并返回它被找到的位置
format() 格式化字符串中的指定值
index() 在字符串中搜索指定的值并返回它被找到的位置
isdigit() 如果字符串中的所有字符都是数字,则返回 True

其他字符串方法

方法 描述
capitalize() 把首字符转换为大写
casefold() 把字符串转换为小写
center() 返回居中的字符串
encode() 返回字符串的编码版本
endswith() 如果字符串以指定值结尾,则返回 true
expandtabs() 设置字符串的 tab 尺寸
isalnum() 如果字符串中的所有字符都是字母数字,则返回 True
isalpha() 如果字符串中的所有字符都在字母表中,则返回 True
isdecimal() 如果字符串中的所有字符都是小数,则返回 True
isidentifier() 如果字符串是标识符,则返回 True
islower() 如果字符串中的所有字符都是小写,则返回 True
isnumeric() 如果字符串中的所有字符都是数,则返回 True
swapcase() 切换大小写,小写成为大写,反之亦然
title() 把每个单词的首字符转换为大写
translate() 返回被转换的字符串
isprintable() 如果字符串中的所有字符都是可打印的,则返回 True
isspace() 如果字符串中的所有字符都是空白字符,则返回 True
istitle() 如果字符串遵循标题规则,则返回 True
isupper() 如果字符串中的所有字符都是大写,则返回 True
ljust() 返回字符串的左对齐版本
lstrip() 返回字符串的左修剪版本
maketrans() 返回在转换中使用的转换表
partition() 返回元组,其中的字符串被分为三部分。
rfind() 在字符串中搜索指定的值,并返回它被找到的最后位
rindex() 在字符串中搜索指定的值,并返回它被找到的最后位置
rjust() 返回字符串的右对齐版本
rpartition() 返回元组,其中字符串分为三部分
rsplit() 在指定的分隔符处拆分字符串,并返回列表
rstrip() 返回字符串的右边修剪版本
startswith() 如果以指定值开头的字符串,则返回 true

热门相关:桃花   寂静王冠   网游之逆天飞扬   时间都知道(唐嫣、窦骁、杨烁主演)   大神你人设崩了