- 字符串介绍
姓名存储,username = “Colin”
密码存储,password = “123456”
邮箱存储,email = “953732179@qq.com”
个人信息存储,personInfo = “我是一只来自北方的猫”
产品信息存储,productInfo = “这个是一个没有用的商品”
都需要字符串来存储.
- 字符串下标索引
str="张三和李四是好朋友"
print("第一个字符是%c:"%str[0])
str[0],str[1],str[2]
str[-1] str[-2] str[-3]
- 字符串切片
切片概念:切片是对操作的对象截取一部分的操作,字符串,列表,元组都支持切片操作。切片的语法[起始:结束:步长]
Name = “asdqqwe”
name[0:5]
name[1:5]
name[:3] 从0到3
name[::2] 从头到尾 2步数
name[4:1] 没有内容
name[5:1:2]
name[4:1:-1]
案例:字符串反转
[::-1]
- 字符串常见操作
- find
find 检测一个小的字符串是否包含在一个大的字符串中,如果包含 返回这个小字符串的索引值【下标】,否则返回-1
mystr = “Colin”
str = “q”
语法:mystr.find(str)
- index 索引
index 和find一样,如果不在,会报异常
语法:mystr.index(str)
- count
检测mystr中出现str的次数
语法:mystr.count(str)
- replace 替换
把mystr中的str1替换成str2,如果count指定,则替换不超过count次
语法:mystr. replace (str1,str2,count)
- split
name.split(",") 全部分隔[中文,中文符号,英文符号]
name.split("hello",1) 分隔第一个
- startswith
以什么进行开头,如果是,返回True,如果不是,返回False。
语法:mystr.startswith(str)
- endswith
以什么进行结束,如果是,返回True,如果不是,返回False。
语法:mystr.endswith(str)
- strip
name=" hello world "
去除左右空格
- isalpha
判断是否都是字母/汉字(字母和汉字组合),如果是,返回True,如果不是,返回False 如果字符串中出现数字/符号 肯定是假的
语法:mystr.isalpha()
- isdigit
判断是否都是数字,如果是,返回True,如果不是,返回False
语法:mystr.isdigit()
- isalnum
判断所有是否都是字母/汉字或数字,如果是返回True,如果不是返回False
语法:mystr.isalnum ()
- len() 非字符串方法
获取字符串(列表)长度
len(mysql)
- 案例:
- 输入一段数字和字母组合,判断数字和字母各有多少个
isalpha
判断是否都是字母,如果是,返回True,如果不是,返回False
语法:mystr.isalpha()
isdigit
判断是否都是数字,如果是,返回True,如果不是,返回False
语法:mystr.isdigit()
str = input(“请输入一段字符串:\n”)
Num = 0
Num2 = 0
for s in str:
if s.isdigit():
如果是数字我们进行统计个数
Num+=1
If s.isalpha():
Num2+=1 统计字母的个数
Print(“字符串中一共有%d个数字!”%num)
Print(“字符串中一共有%d个字母!”%num2)
2案例: 请将hello22hewe278字符串的数字取出,并输出成一个新的字符串。
newStr = “”;
if s.isdigit():
newStr+=s;
- 输出字符串中指定字符出现的所有下标位置
方法1
str = 'dsadjqwowjppwjpdwapdjpsadhaisodjpawjprioqeuasblfc'
index = str.find('jp');
while index >=0:
print(index);
index = str.find('jp',index+1)
方法2
for s in range(0,len(str)):
if str[s] == 'jp':
print(s)