目录
一、字符串的定义
字符串就是一串字符,是编程语言中表示文本的数据类型
在python中可以使用一对双引号"或者一对单引号'定义一个字符串
虽然可以使用\"或者\‘做字符串的转义,但是在实际开发中:如果字符串内部需要使用",可以使用'定义字符串;如果字符串内部需要使用',可以使用"定义字符串
可以使用索引获取一个字符串中指定位置的字符,索引技术从0开始
也可以使用for循环遍历字符串中每一个字符
大多数编程语言都是用"来定义字符串
str1 = "Hello Python"
str2 = '我的外号是"大西瓜"'
print(str2)
print(str1[6])
for char in str2:
print(char)
二、字符串的常用操作
在ipython3中定义一个字符串,例如:hello_str = ""
输入hello_str.按下TAB键,ipython会提示字符串能够使用的方法如下:
提示:正是因为python内置提供的方法足够多,才使得在开发时,能够针对字符串进行更加灵活的操作!应对更多的开发需求!
hello_str = "hello hello"
# 1.统计字符串长度
print(len(hello_str))
# 2.统计某一个小(子)字符串出现的次数
print(hello_str.count("llo"))
print(hello_str.count("abc"))
# 3.某一个子字符串出现的位置
print(hello_str.index("llo"))
# 注意:如果使用index方法传递的子字符串不存在,程序会报错!
print(hello_str.index("abc"))
1.判断类型-9
# 1. 判断空白字符
# \t:制表符 \n:换行 \r:回车
space_str = " \t\n\r"
print(space_str.isspace())
# 2.判断字符串中是否只包含数字
# 1> 都不能判断小数
# num_str = "1.1"
# 2> unicode 字符串
# num_str = "⑴"
# num_str = "\u00b2"
# 3> 中文数字
num_str = "千千千"
print(num_str)
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())
2.查找和替换-7
hello_str = "hello world"
# 1.判断是否以指定字符串开始
print(hello_str.startswith("hello"))
# 2.判断是否以指定字符串结束
print(hello_str.endswith("world"))
# 3.查找指定字符串
# index同样可以查找指定的字符串在大字符串中的索引
print(hello_str.find("llo"))
# index如果指定的字符串不存在,会报错
# find如果指定的字符串不存在,会返回-1
print(hello_str.find("abc"))
# 4.替换字符串
# replace方法执行完成之后,会返回一个新的字符串
# 注意:不会修改原有字符串的内容
print(hello_str.replace("world","python"))
print(hello_str)
3.大小写转换-5
4.文本对齐-3
# 假设:以下内容是从网络上抓取的
# 要求:顺序并且居中对齐输出以下内容
poem = ["登鹳雀楼",
"王之涣",
"白日依山尽",
"黄河入海流",
"欲穷千里目",
"更上一层楼"]
for poem_str in poem:
print("|%s|" % poem_str.center(10," "))
for poem_str1 in poem:
print("|%s|" % poem_str1.rjust(10," "))
for poem_str2 in poem:
print("|%s|" % poem_str2.ljust(10," "))
5.去除空白字符-3
# 假设:以下内容是从网络上抓取的
# 要求:顺序并且居中对齐输出以下内容
poem = ["\t\n登鹳雀楼",
"王之涣",
"白日依山尽\t\n",
"黄河入海流",
"欲穷千里目",
"更上一层楼"]
for poem_str in poem:
# 先使用strip方法去除字符串中的空白字符
# 再使用center方法居中显示文本
print("|%s|" % poem_str.strip().center(10," "))
6.拆分和连接-5
# 假设:以下内容是从网络上抓取的
# 要求:
# 1.将字符串中的空白字符全部去掉
# 2.再使用" "作为分隔符,拼接成一个整齐的字符串
poem_str = "登鹳雀楼\t 王之涣 \t 白日依山尽 \t \n 黄河入海流 \t\t 欲穷千里目 \t\t\n更上一层楼"
print(poem_str)
# 1.拆分字符串
poem_list = poem_str.split()
print(poem_list)
# 2.合并字符串
result = " ".join(poem_list)
print(result)
三、字符串的切片
切片方法适用于字符串、列表、元组
切片使用索引值来限定范围,从一个大的字符串中切出小的字符串
列表和元组都是有序的集合,都能够通过索引值获取到对应的数据
字典是一个无序的集合,是使用键值对保存数据
字符串[开始索引:结束索引:步长]
num_str = "0123456789"
# 1.截取从2~5位置的字符串
print(num_str[2:6])
# 2.截取从2~末尾的字符串
print(num_str[2:])
# 3.截取从开始~5位置的字符串
# print(num_str[:6])
print(num_str[0:6])
# 4.截取完整的字符串
print(num_str[:])
# 5.从开始位置,每隔一个字符截取字符串
print(num_str[::2])
# 6.从索引1开始,每隔一个取一个
print(num_str[1::2])
# 7.截取从2~末尾-1的字符串
print(num_str[2:-1])
# 8.截取字符串末尾两个字符
print(num_str[-2:])
# 9.字符串的逆序(面试题)
# print(num_str[-1::-1])
print(num_str[::-1])