Python【字符串&常用方法】
文章目录
字符串的表示
python中的字符串变量是由单引号或双引号括起来的。
x = "Hello!"
y = 'Python.'
print(x + y)
输出结果:
Hello!Python.
多行字符串
用三个双引号括起来:
x = """Hello!
Python"""
print(x)
结果:
Hello!
Python
访问与裁切
和其他语言一样,访问某个位置直接使用中括号加下标访问。
如果需要剪切一段字符串,直接开始位置加上冒号再加上结束位置(左闭右开)就可以返回一个剪切后的字符串:
x = """Hello!
Python"""
print(x[1])
print(x[0:4])
结果:
e
Hell
剪切可以是负的起始,表示从字符串末尾剪切:
x = "Hello,python!"
print(x[-5:-3])
结果就是倒数第5,4个字符了:
th
字符串长度
使用len来查询:
x = "Hello,python!"
print(len(x))
结果:
13
strip方法
strip方法可以去除字符串首尾的空白字符:
x = " Hello,python! "
print(x)
print(x.strip())
结果:
Hello,python!
Hello,python!
upper和lower方法
x = "HellO"
print(x.lower())
print(x.upper())
结果:
hello
HELLO
split方法
split可以将字符串按照一个给定的分隔符分隔为不同的部分:
x = "Hello,Python,Java"
y = x.split(",")
print(y)
输出:
['Hello', 'Python', 'Java']
检查字符换中是否存在某个内容
使用in
或者not in
,返回true或false:
x = "Hello,Python,Java"
y = "Hello" in x
z = "HEllo" in x
p = "Hello" not in x
q = "HEllo" not in x
print(y)
print(p)
print(z)
print(q)
输出:
True
False
False
True
count方法
# count(sub,start,end)方法可以返回字符串sub在[start,end)范围内非重叠出现的次数
str = "Hello,Hello,Hello"
print(str.count("Hello"))
print(str.count("Hello",0,len(str)))
print(str.count("Hello",0,len(str) - 1))
输出:
3
3
2
find()方法
rfind(sub,start,end)返回子字符串 sub 在字符串内被找到的最大(最右)索引,这样 sub 将包含在 str[start:end]
当中。
# find(sub,start,end)方法可以返回字符串sub在[start,end)范围内被找到的最小索引
# 如果未被找到则返回-1
str = "Hello,Hello,Hello"
print(str.find("Hello"))
print(str.find("Hello",1,len(str)))
print(str.find("Hello",len(str) - 1,len(str)))
输出:
0
6
-1
index()方法
rindex(sub,start,end)类似于 rfind(),但在子字符串 sub 未找到时会引发 ValueError。
# index(sub,start,end)方法可以返回字符串sub在[start,end)范围内被找到的最小索引
# 但是如果未被找到则会引发ValueError
str = "Hello,Hello,Hello"
print(str.index("Hello"))
print(str.index("Hello",1,len(str)))
print(str.index("Hello",len(str) - 1,len(str)))
输出:
0
6
Traceback (most recent call last):
File "D:\IDE\PyCharm\Project\Study\demo01.py", line 6, in <module>
print(str.index("Hello",len(str) - 1,len(str)))
ValueError: substring not found
isalnum()方法
# str.isalnum()
# 如果字符串中的所有字符都是字母或数字且至少有一个字符,返回True
str1 = "Hello,12345,Hello"
str2 = "HELLO12345"
print(str1.isalnum())
print(str2.isalnum())
# 字符
print(str1[0].isalnum())
输出:
False
True
True
isalpha()方法
# str.isalpha()
# 如果字符串中的所有字符都是字母且至少有一个字符,返回True
str1 = "Hello"
str2 = "HELLO12345"
print(str1.isalpha())
print(str2.isalpha())
# 字符
print(str1[0].isalpha())
输出:
True
False
True
isdecimal()方法
# str.decimal()
# 如果字符串中的所有字符都是十进制字符且至少有一个字符,返回True
str1 = "12345"
str2 = "12345HELLO"
print(str1.isdecimal())
print(str2.isdecimal())
# 字符
print(str1[0].isdecimal())
输出:
True
False
True
isdigit()方法
# str.isdigit()
# 如果字符串中的所有字符都是数字,并且至少有一个字符,返回 True
str1 = "12345"
str2 = "12345HELLO"
print(str1.isdigit())
print(str2.isdigit())
# 字符
print(str1[0].isdigit())
输出:
True
False
True
islower()方法
注意下面的str2,一般只用于字符的检查,isupper类似。
# str.islower()
# 如果字符串中至少有一个区分大小写的字符且此类字符均为小写则返回 True
str1 = "12345"
str2 = "hello12345"
str3 = "helloworld"
print(str1.islower())
print(str2.islower())
print(str3.islower())
# 字符
print(str3[2].islower())
输出:
False
True
True
True
lower()和upper()方法
# str.lower()
# 返回原字符串的副本,其所有区分大小写的字符均转换为小写。
# upper类似
str = "AA"
str.lower()
print(str.lower())
str = 'aa'
print(str.upper())
输出:
aa
AA
replace()方法
# str.replace(old,new,count)
# 返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new。
# 如果给了第三个参数,那count就是要替换的前count个old
str = "123Hello456,123123"
str.replace("123","Python")
print(str.replace("123","Python"))
print(str.replace("123","Java",2))
输出:
PythonHello456,PythonPython
JavaHello456,Java123