字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。
S="fdsfdsjkdscom"
S1="HHHJJKGGYVCJ"
1、首字母大写
print(S.capitalize())
运行结果:Fdsfdsjkdscom
2、计数
print(S.count("f"))
运行结果:2
#统计S中有多少个f
3、整个字符串大写变小写
print(S1.casefold())
运行结果:hhhjjkggyvcj
4、居中操作
print(S.center(50," "))
#运行结果: fdsfdsjkds.com
5、格式转换
S.encode(encoding="utf-8")
S.encode(encoding="GBK")
print(S.encode(encoding="utf-8"))
运行结果:b'fdsfdsjkds.com'
6、判断结尾
print(S.endswith("com"))
运行结果:True
# 判断字符串的结尾与括号中的结尾是否相同
7、查找
print(S.find("f"))
8.1格式化操作
name="{name} is {age}"
print(name)
运行结果:{name} is {age}
print(name.format(name="feng",age=19))
运行结果:feng is 19
8.2
print(name.format_map({"name":"feng","age":"19"}))
运行结果:feng is 19
9、判断是否由数字组成
S="342nuds"
print(S.isalnum())
运行结果:True
#有数字返回Ture
10、判断是否由字母组成(包含大小写)
S="fdsfdsjkdscomDDDD"
print(S.isalpha())
#必须全为字母,有数字返回False
11、判断是否是十进制数
S="73281"
print(S.isdecimal())
运行结果:Ture
#是十进制返回Ture
12、判断是不是整数
S="8493.2"
print(S.isdigit())
13、判断是不是一个合法的标识符
S="00__fjdsk"
print(S.isidentifier())
14、判断是不是全部为小写
S="jfdksASD"
print(S.islower())
#全为小写返回Ture
15、判断是不是全部为数字
S="8989q"
print(S.isnumeric())
16、判断是不是空格
S=" "
print(S.isspace())
17、判断字符串中每一个单词是不是大写开头
S="Gfs Djfkds"
print(S.istitle())
18、判断字符串能不能打印(用途较少)
S="fjkds"
print(S.isprintable())
19、判断是不是全部为大写
S="IIOJH"
print(S.isupper())
20、join格式化
print("+".join(["1","2","3"]))
运行结果:1+2+3
21.1、向左格式化打印
S="jfkdlsjfkds"
print(S.ljust(30,"+"))
运行结果:jfkdlsjfkds+++++++++++++++++++
21.2、向右格式化打印
print(S.rjust(30,"+"))
运行结果:+++++++++++++++++++jfkdlsjfkds
22、大写变小写
S="JKHJaaKHJK"
print(S.lower())
运行结果:jkhjaakhjk
#将字符串中所有大写字母变成小写
23、小写变大写
S="jfkds"
print(S.upper())
#运行结果:JFKDS
24.1、去掉左边空格和回车
S="\njfkdsj"
print(S)
print(S.lstrip())
24.2、去掉右边空格和回车
S="fdks\n"
print(S+"jfkdsl")
print(S.rstrip()+"jfkdls")
24.3、去掉两端全部空格和回车
S="\nfhdsj\t"
print(S.strip()+"jfdksncue")
25、自定义格式化(形成对照表),两字符串长度必须一致
p=str.maketrans("1234267","abcdefg")
print("5372".translate(p))
运行结果:5cge
26、字符串替换
s="bubunimovyisa"
print(s.replace("b","B",1))
运行结果:Bubunimovyisa
#将b转换为B,替换一个
27、从右向左查找
s="jfkdlssfds"
print(s.rfind("s"))
#显示出最右边s的下标
28、字符串分割
s="bcudsncusiabjdf"
l=s.split("s")
l.append("feng")
print(l)
注释掉l.append("feng")的运行结果:['bcud', 'ncu', 'iabjdf']
运行结果:['bcud', 'ncu', 'iabjdf', 'feng']
print(" ".join(l))
运行结果:bcud ncu iabjdf
s=s.replace("s"," ")+" feng"
print(s)
运行结果:bcud ncu iabjdf feng
#将s替换成空格,后面+feng
29、识别换行(主要针对于全部系统)
s="1\n+2\n"
print(s)
print(s.split("\n"))
print(s.splitlines())
运行结果:
# 1
# +2
#
# ['1', '+2', '']
# ['1', '+2']
30、将字符串中的大小写互换
s="HUbfjds"
print(s.swapcase())
运行结果:huBFJDS
31、将字符串中的每一个单词首字母变大写
s="feng oo pbce"
print(s.title())
运行结果:Feng Oo Pbce
字符串不允许修改
s="fengnaifds"
l=[1,2,3,4]
print("列表修改前:",id(l))
运行结果:列表修改前: 2067569722056
print(l)
运行结果:[1, 2, 3, 4]
l.append("fiwe")
print("列表修改后:",id(l))
运行结果:列表修改后: 2067569722056
print(l)
运行结果:[1, 2, 3, 4, 'fiwe']
print("字符串修改前:",id(s))
运行结果:字符串修改前: 2067569721840
print(s)
运行结果: fengnaifds
s=s+"jfi"
print("字符串修改后:",id(s))
运行结果:字符串修改后: 2067572290928
print(s)
运行结果:fengnaifdsjfi