13.字符串

字符串

字符串是字符的容器,一个字符串可以存放任意数量的字符

同元组一样,字符串是一个:无法修改的数据容器

作为数据容器,字符串有如下特点:

  • 只可以存储字符串
  • 长度任意(取决于内存大小)
  • 允许重复字符串存在
  • 不可以修改(增加或删除元素等)
  • 支持for循环
my_str = "Hello World"

# 通过下标索引取值
value = my_str[0]
value2 = my_str[-5]

print(value,value2)

# my_str[2] = "L"  # TypeError: 'str' object does not support item assignment
H W
  • 查找特定字符串的下标索引值

语法:字符串.index(字符串)

my_str = "Hello World"

my_str.index("Hello") # 0

my_str.index("l") # 2
2

字符串的常用操作

  • 字符串的替换

  语法:字符串.replace(字符串1, 字符串2)

  功能:将字符串内的全部:字符串1,替换为字符串2

  注意:不是修改字符串本身,而是得到一个新字符串

my_str = "Hello World"

new_str = my_str.replace("Hello", "HELLO")
print(my_str)
print(f"将字符串{my_str}进行replace替换后得到:{new_str}")
Hello World
将字符串Hello World进行replace替换后得到:HELLO World
  • 字符串的分割

  语法:字符串.split(分隔符字符串)

  功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中

  注意:字符串本身不变,而是得到了一个列表对象

my_str = "Hello World"
my_list = my_str.split(" ")
print(f"字符串{my_str}按照空格split分割后存入列表{my_list}")
字符串Hello World按照空格split分割后存入列表['Hello', 'World']
  • 字符串的规整操作(去前后空格)

  语法:字符串.strip()

  • 字符串的规整操作(去前后指定字符串)

  语法:字符串.strip(字符串)

my_str = "  Hello World  "
print(my_str)
print(my_str.strip())

my_str = "aabb  Hello World  abbb"
print(my_str.strip("ab"))    # 去除满足ab ba a b等能匹配所有字符串
Hello World
Hello World
  Hello World
  • 字符串的统计

  语法:字符串.count()

  语法:字符串.len()

my_str = "aabb  Hello World  abbb"

my_str.count("a")  # 3
my_str.count("ab") # 2
my_str.count("b")  # 5

len(my_str)   # 23
'a'

字符串的遍历while与for循环

# while
def my_str_func():
    my_str = "Hello World"
    i = 0
    while i < len(my_str):
        print(my_str[i])
        i += 1
my_str_func()
H
e
l
l
o

W
o
r
l
d
# for
def my_str_for_func():
    my_str = "Hello World"
    for i in my_str:
        print(i)
my_str_for_func()
H
e
l
l
o

W
o
r
l
d