软件测试|Python字符串的这些操作,你可都学会了?
【摘要】 前言字符串是Python的基本数据类型之一,学习任何一种语言都需要先了解其基本的数据类型,本篇文章就来为大家讲解一下Python字符串的相关操作。 字符串Python中字符串是一种名为序列的数据结构。python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等。拼接分割查找对比赋值截取 字符串拼接字符串的拼接可以通过科学计算符(+,*),也可以通过内置方法j...
前言
字符串是Python的基本数据类型之一,学习任何一种语言都需要先了解其基本的数据类型,本篇文章就来为大家讲解一下Python字符串的相关操作。
字符串
Python中字符串是一种名为序列的数据结构。python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等。
- 拼接
- 分割
- 查找
- 对比
- 赋值
- 截取
字符串拼接
字符串的拼接可以通过科学计算符(+,*),也可以通过内置方法join来实现。代码如下:
s='hello'*2
# 用乘法重叠
print(s)
s='hello'+'world'
# 用加号拼接
print(s)
a='world'
# 用join 拼接
s=''.join(a)
print(s)
----------------------------
结果依次为:
hellohello
helloworld
world
字符串切片
字符串作为序列的一种,当然也可以使用序列的切片操作,序列[开始位置下标:结束位置下标:步长] ,不包含结束位置下标数据,步长为选取间隔,正负均可,默认为1,示例代码如下:
s = 'abcdefghijklmn'
print(s[0:4]) # 包括起始值(元素)不包括结束值,默认步进值为1
print(s[0:8:2]) # 设置步进值为2 提取
print(s[5:]) # 当一边没有指定时,就取到边界
print(s[:6])
print(s[1:-1]) # 从结尾提取,下标从-1开始
print(s[-6:])
print(s[:]) # 表示全选
print(s[::-1]) # 使其中的元素 倒叙排列
------------------------------------
结果如下:
abcd
aceg
fghijklmn
abcdef
bcdefghijklm
ijklmn
abcdefghijklmn
nmlkjihgfedcba
字符串分割
字符串分割返回一个列表对象,将目标内容连接。示例代码如下:
s = 'theshy is the best top_lane player in the LOL history.'
# 按空格切割
print(s.split(' '))
# 按字符e切割
print(s.split('e'))
# 按空格切割 并指定切割次数,3次
print(s.split(' ', 3))
# 从右面开始切割,切割2次
print(s.rsplit(' ', 4))
# 按行切割
poem = '''日照香炉生紫烟
遥看瀑布挂前川
飞流直下三千尺
疑是银河落九天'''
print(poem.splitlines())
----------------------------------------------
输出结果如下:
['theshy', 'is', 'the', 'best', 'top_lane', 'player', 'in', 'the', 'LOL', 'history.']
['th', 'shy is th', ' b', 'st top_lan', ' play', 'r in th', ' LOL history.']
['theshy', 'is', 'the', 'best top_lane player in the LOL history.']
['theshy is the best top_lane player', 'in', 'the', 'LOL', 'history.']
['日照香炉生紫烟', '遥看瀑布挂前川', '飞流直下三千尺', '疑是银河落九天']
字符串查找
从一个字符串s中查找另一个字符串或字符第一次出现的下标位置,找不到返回 -1.
s='abcdedjcjdlslk'
s1 = 'abc'
# 返回第一次出现abc的位置下标0
print(s.find(s1))
# 返回第一次出现 j 的位置下标6
print(s.find('j'))
# 从下标位置2开始查找,找到返回第一次出现的位置下标
print(s.find('j', 2))
# 从下标位置7开始查找
print(s.find('j', 7))
# 从下标位置10开始查找,没有返回-1
print(s.find('j', 10))
---------------------------
结果如下:
0
6
6
8
-1
赋值
s = 'abcdef'
s = list(s)
s[1] = 'E'
s = ''.join(s)
print(s)
s = s[0:1] + 'E' + s[2:]
print(s)
s = s.replace('b', 'E')
print(s)
s = 'aEcdef'
print(s)
-------------------
结果如下:
aEcdef
aEcdef
aEcdef
aEcdef
截取
mystring = '12345abcde'
print('截取第1位到第5位的字符:', mystring[0:5]) # 截取第1位到第5位的字符
print('截取字符串的全部字符', mystring[:]) # 截取字符串的全部字符
print('截取第5个字符到结尾:', mystring[5:]) # 截取第6个字符到结尾
print('截取从头开始到倒数第3个字符之前:', mystring[:-3]) # 截取从头开始到倒数第3个字符之前
print('截取第5个字符;', mystring[4]) # 截取第5个字符
print('截取倒数第3个字符:', mystring[-3]) # 截取倒数第3个字符
print('截取倒数第3位与倒数第1位之前的字符;', mystring[-3:-1]) # 截取倒数第3位与倒数第1位之前的字符
print('截取倒数第三位到结尾:', mystring[-3:]) # 截取倒数第三位到结尾
print('逆序截取从倒数第1个到倒数第5个,步长为-1,默认begin为-1:', mystring[:-5:-1]) # 逆序截取从倒数第1个到倒数第5个,步长为-1,默认begin为-1
print('逆序截取从倒数第1个到倒数第5个,步长为1,默认begin为0:', mystring[:-5:1]) # 逆序截取从倒数第5个到倒数第2个,步长为1,默认begin为0
print('逆序截取全部字符:', mystring[::-1]) # 逆序输出全部字符
print('逆序截取倒数第3个到倒数第10个,步长为3:', mystring[-3:-10:-3]) #逆序截取倒数第3个到倒数第10个,步长为3
---------------------------------------------------------------
输出结果如下:
截取第1位到第5位的字符: 12345
截取字符串的全部字符 12345abcde
截取第5个字符到结尾: abcde
截取从头开始到倒数第3个字符之前: 12345ab
截取第5个字符; 5
截取倒数第3个字符: c
截取倒数第3位与倒数第1位之前的字符; cd
截取倒数第三位到结尾: cde
逆序截取从倒数第1个到倒数第5个,步长为-1,默认begin为-1: edcb
逆序截取从倒数第1个到倒数第5个,步长为1,默认begin为0: 12345
逆序截取全部字符: edcba54321
逆序截取倒数第3个到倒数第10个,步长为3: c52
总结
本文介绍了Python字符串的相关操作,字符串的操作是Python基础的知识,需要牢牢掌握,本文存在不足之处,欢迎大家留言拍砖。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)