字符串基础特性
支持序列类型的所有基础操作
-
切片
-
索引
-
加法
-
乘法
定义字符串:
-
str(变量名)= "xxxx"
str = "abcdefghigklmn" # 定义字符串 str1 = str[3:7] # 切片 print(str1) str2 = str[4] # 索引 print(str2) s1 = "hello " s2 = "boys" s = s1 + s2 # 加法 print(s) print(s1 * 5) # 乘法g)
查看数据类型
s = "abc" print(type(s)) # 输出类型是str,表示是字符串 l = ["abc"] print(type(l)) # 输出类型是list,表示是列表 t = ("abc",) print(type(t)) # 输出类型是tuple,表示是元组 d = {"name":"tom","age":18} print(type(d)) # 输出类型是dict,表示是字典
字符串操作
1)访问字符串的子串
-
通过切片
案例:打印字符串的倒数第二个字符
s = "abcdefghijklnm" # 方法1 print(s[-2]) #输出索引值为负2的元素 # 方法2 num = len(s) #获取字符串的长度 print(s[num-2])
2)字符串替换
方法:
-
str.replace("目标","替换结果",[替换几个])
案例:将字符串中的c替换成1234
s = "abcdefghcjclnmc" s = s.replace("c","1234") # 将全部的c都替换成123 print(s) s = s.replace("c","1234",2) # 将前两个c替换成123 print(s)
3)字符串拼接
方法1:用 + 进行拼接
s1 = "aaa" s2 = "bbb" s3 = "ccc" s = s1 + s2 + s3 print(s)
方法2:在输出的时候,用占位符进行拼接
s1 = "aaa" s2 = "bbb" s3 = "ccc" print("%s%s%s"%(s1,s2,s3))
方法3:结合列表的和join方法进行拼接
s1 = "aaa" s2 = "bbb" s3 = "ccc" s = "".join([s1,s2,s3])
方法4:格式化
s1 = "aaa" s2 = "bbb" s3 = "ccc" print("{}{}{}".format(s1,s2,s3)) print("{str1}{str2}{str3}".format(str1=s1,str2=s2,str3=s3))
字符串方法
方法1:find
-
返回指定的字符在字符串中的索引值
-
如果字符串中没有这个字符,会返回-1
-
默认情况下,会从最左侧开始查找,找到第一个字符后,会停止
-
也可以指定从哪个字符开始查找
-
格式:str.find("目标",[start])
案例:让用户随意输入一个字符串,字符串中必须有两个c,打印输出这两个字符的索引值
userInput = input("please enter something: ") num1 = userInput.find("c") num2 = userInput.find("c",num1+1) print(num1,num2)
方法2:index
-
返回指定的字符在字符串中的索引值
-
如果字符串中没有这个字符,会抛出异常
-
默认情况下,会从最左侧开始查找,找到第一个字符后,会停止
-
也可以指定从哪个字符开始查找
-
格式:str.index("目标",[start])
方法3:join方法
-
用于将列表中的元素拼接字符串
-
列表中的元素必须全部都是字符串类型,否则报错
-
格式:"+".join(列表)
案例:
l = ["1","a","qq","d"] s = "".join(l) print(s
案例2:将列表l = ["a","qq","cd1",123, 3.14, "6"] 中的全部的元素转换为字符串类型【用两种方法实现】
方法一:
li = ["a","qq","cd1",123, 3.14, "6"] for age in range(len(li)): li[age]=str(li[age]) print(li)
方法二:
li = ["a","qq","cd1",123, 3.14, "6"] age = str(li) print(age)
案例3:将列表num = [1,3,5,7,9]中的内容输出成1+3+5+7+9
li=[1,3,5,7,9] for age in range(len(li)): li[age]=str(li[age]) s="+".join(li) print(s)
方法4:大小写转换
-
lower:将内容全部转换为小写
-
upper:将内容全部转换为大写
-
title:将自带一个字母转换为大写,其他全部都自动转换为小写
方法5:split方法
-
作用:将字符串转换为列表
-
split方法可以指定用哪个字符对字符串进行切割
str = "i love linux and pyhon" li1 = list(str) print(li1) li2 = str.split(" ") print(li2) li3 = str.split("o") print(li3)
方法6:strip
-
去除字符串两侧的空格
案例:让用户输入任意内容,将用户输入的内容中的全部空格剔除掉【至少两种方法】
方法一:
num = input("请输入任意内容: ").strip().replace(" ", "") #strip 将用户输入的内容俩边的空格去除 #replace 将用户输入内容中的" "替换成"" print(num)
方法二:
str = "" userinput =input("请输入:") for char in userinput: #用循环让用户输入进去的内容一个一个输出 if char == " ": #如果char中有空格 pass # 就跳过 else: str += char #str就等于char print(str)
方法三:
list_str = [] userinput =input("") for char in userinput: if char == " ": pass else: list_str.append(char) #将char中的内容赋值给list str = "".join(list_str) #用join的方法在拼接成字符串 print(str)
方法7:判断
isinstance(变量名,变量类型) # 如果变量和类型一致,则返回真;否则返回假