文章目录
- 1、字符串序号
- 2、字符串切片
- 3、字符串切割
- 4、字符串替换
- 5、字符串删除
- 6、字符串判断
- 7、字符串拼接
- 8、其他操作
字符串是 python 中常用的数据类型,python中可以使用单引号或双引号来创建字符串,python 中没有字符类型,字符在 python 中也是作为字符串使用。
1、字符串序号
字符串序号默认从0开始,python中字符串包括两种序号体系:正向递增序号和反向递减序号。
s = "UserName=Jim&PassWord=123"
# 正向递增序号从0开始
print(s[0])
print(s[1])
# 反向递减序号从负1开始
print(s[-1])
print(s[-2])
数据结果为:
查找字符串序号的一些常用方法如下:
find
:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中首次出现的位置,若不存在则返回-1。
rfind
:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中最后一次出现的位置,若不存在则返回-1。
index
:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中首次出现的位置,若不存在则抛出异常。
rindex
:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中最后一次出现的位置,若不存在则抛出异常。
count
:用来返回一个字符串在另一个字符串中出现的次数,若不存在则返回0。
s = "UserName=Jim&PassWord=123"
print(s.find("&"))
print(s.rfind("3"))
print(s.index('m'))
print(s.rindex("m"))
print(s.count("m"))
输出结果为:
2、字符串切片
字符串有序号,可以看作是一个特殊的list,可以进行切片操作。需要注意的是切片操作默认步长为1,且切片区间为左闭右开。
s = "UserName=Jim&PassWord=123"
print(s[0:4])
print(s[-3:-1])
print(s[13:])
# 反转字符串
print(s[::-1])
输出结果为:
3、字符串切割
字符串截取主要用到split函数,使用字符串中的某个字符串分割字符串。
s = "a,b,e,123,hello"
s = s.split(",") # 使用","分割字符串
print(s) # 输出结果是['a', 'b', 'e', '123', 'hello']
运用字符串分割,可以将某些特殊的字符串转为字典。
params = 'a=1&b=3&e=78&123=a&hello=h'
s = params.split('&')
print(s) # 得到链表['a=1', 'b=3', 'e=78', '123=a', 'hello=h']
dict_p = {} # 定义一个空字典
for key_value in s: # 通过键值对遍历
key = key_value[0:key_value.find('=')] # 截取等号以前的值作为键
value = key_value[key_value.find('=') + 1:] # 截取等号后面的值作为值
dict_p[key] = value # 把键值对添加到空字典
print(dict_p) # 输出结果是{'a': '1', 'b': '3', 'e': '78', '123': 'a', 'hello': 'h'}
4、字符串替换
字符串替换主要用到replace函数,replace函数有3个参数,参数1为被替换字符串,参数2为替换字符串,参数3为被替换字符串的个数,默认为-1,表示替换全部。
s = 'Jim is a boy,Jim is 8'
s = s.replace('Jim', 'Tom')
print(s) # 输出结果是Tom is a boy,Tom is 8
s = s.replace('Tom', 'Jim', 1)
print(s) # 输出结果是Jim is a boy,Tom is 8
输出结果为:
5、字符串删除
字符串删除操作,主要用到strip函数,但strip函数只能对字符串两端进行删除操作。
strip
:删除字符串两端空白字符或指定字符
lstrip
:删除字符串左端空白字符或指定字符。
rstrip
:删除字符串右端空白字符或指定字符。
s = "---UserName---PassWord---"
print(s.strip("-"))
print(s.lstrip("-"))
print(s.rstrip("-"))
输出结果为:
6、字符串判断
字符串判断操作常用的函数如下:
contains
:判断是否包含某个字符串。
startswith
:判断是否以指定字符开始。
endswith
:判断是否以指定字符结束。
isupper
:判断是否全为大写。
islower
:判断是否全为小写。
isdigit
:判断是否全为数字。
isalnum
:判断是否全为字母或汉字或数字。
s = "---UserName---PassWord---"
print(s.__contains__("U"))
print(s.startswith('-'))
print(s.endswith('-'))
print(s.isupper())
print(s.isalnum())
print(s.isalpha())
输出结果为:
7、字符串拼接
常用的拼接方法主要使用逗号、加号拼接,也可以使用join方法拼接。
s1 = "UserName&PassWord"
s2 = '--'
# 使用逗号拼接,中间会有空格
print("UserName&PassWord", '--')
# 使用空格拼接
s3 = "UserName&PassWord" "--"
print(s3)
# 使用加号拼接
s4 = "UserName&PassWord" + "--"
print(s4)
# 使用join方法拼接
print(s2.join(s1))
# 在字符串中插入新的元素形成新的字符串,引号内为插入的新元素。
print("-".join(s1))
运行结果为:
8、其他操作
常见的其他操作方法:
len
:返回字符串长度。
lower
:将字符串转换为小写字符串。
uppper
:将字符串转换为大写字符串。
capitalize
:将字符串首字母变为大写。
title
:将字符串中每个单词的首字母都变为大写。
swapcase
:将字符串中的字符大小写互换。
s1 = "UserName&PassWord"
s2 = '--'
print(len(s1))
print(s1.lower())
print(s1.upper())
print(s1.swapcase())
输出结果为: