python字符串的一些常见实用操作


Posted in Python onApril 06, 2022
目录

切片——str[start:end]

str1 = ' python str '
#切片
print(str1[3:6])   # str[start:end](下标从 0 开始)从下标为start开始算起,切取到下标为 end-1 的元素,切取的区间为 [start, end)
print(str1[2:8:2]) # str[start:end:step],取 [start, end) 之间的元素,每隔 step 个取一个
print(str1[2:9:2])

tho
yhn
yhns

字符串长度——len(str)

str1 = "aBCd Efgh ijK LmN"
print(len(str1))   # 返回字符串的长度

17

重复字符串 ——1、str * n,2、n * str

#重复字符串   1、str * n,2、n * str, n为一个 int型的数字
str1 = ' python str '
print(str1*2)
print(3*str1)

python str python str
python str python str python str

查找某个字符 or 某个字符子串在不在原字符串中

1、in 关键字

#  in 关键字
str1 = ' python str '
print('p' in str1)
print('py' in str1)
print('py' not in str1)

True
True
False

2、find函数

# str.find(str, start=0, end=len(string))  如果包含子字符串返回开始的索引值,否则返回-1。
str1 = ' python str '
str2 = "python"
print(str1.find(str2))
print(str1.find(str2, 1))
print(str1.find(str2, 5))

1
1
-1

3、index函数

# str.index(str, start=0, end=len(string))  如果包含子字符串返回开始的索引值,否则抛出异常。
str1 = ' python str '
str2 = "python"
print(str1.index(str2))
print(str1.index(str2, 1))
print(str1.index(str2, 5))

1
1Traceback (most recent call last):
File “E:/李明/pycharmProject/深度学习入门/main.py”, line 27, in
print(str1.index(str2, 5))
ValueError: substring not found

4、rfind函数

str11 = " python str  python str "
str2 = "python"
print(str11.rfind(str2))
print(str11.rfind(str2,10,len(str11)))   #  str.rfind(substr, start,end) 类似于 find()函数,不过是从右边开始查找.

5、rindex函数

str11 = " python str  python str "
str2 = "python"
print(str11.rindex(str2))  #  str.rindex(substr, start,end)类似于 index(),不过是从右边开始.
print(str11.rindex(str2,10,len(str11)))

字符串中某字符(子字符串)的数量——str.count(sub, start= 0,end=len(string))

str = "li hua shi ge huai hai zi"
print(str.count('i', 0, 15))   # str.count(sub, start= 0,end=len(string))
print(str.count('i'))
print(str.count('shi'))

2
5
1

去除空格——str.strip()、str.lstrip()、str.rstrip()

str1 = ' python str '
print (str1)   
print (str1.strip())     # 去首尾空格
print (str1.lstrip())    # 去左侧空格
print (str1.rstrip())    # 去右侧空格

结果:

python字符串的一些常见实用操作

分割字符串——str.split()

str1 = '1 , 2 , 3 , 4 , 5'
print (str1.split())      # 默认使用空格分隔
print (str1.split(' '))    # 指定使用空格进行分隔,首尾如果有空格,则会出现在结果中
print (str1.split(','))    # 指定其他字符串进行分隔,指定,分割
print (str1.split('3 ,'))  # 指定  3 , 分割

[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 , 2 , ‘, ’ 4 , 5’]

以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 次

str1 = '1 , 2 , 3 , 4 , 5'
print (str1.split(','))    # 指定其他字符串进行分隔,指定,分割
print (str1.split(',',3))

['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 ', ’ 2 ', ’ 3 ‘, ’ 4 , 5’]

替换字符串——str.replace(old, new, max)

# str.replace(old, new, max)  字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
str1 = "li hua shi ge huai hai zi,li hua shi ge huai hai zi"
print(str1.replace("ai", "PL"))
print(str1.replace("ai", "PL", 3))

li hua shi ge huPL hPL zi,li hua shi ge huPL hPL zi
li hua shi ge huPL hPL zi,li hua shi ge huPL hai zi

判断字符串是否以指定前缀、后缀结尾

是否是指定前缀——str.startswith(str, start=0,end=len(string))

# str.startswith(str, start=0,end=len(string)),检查字符串[start,end)以指定子字符串开头,如果是则返回 True,否则返回 False
str1 = "this is string example....wow!!!"
print(str1.startswith('this'))      
print(str1.startswith('is', 2, 4))    
print(str1.startswith('his', 1, 3))

True
True
False

是否是指定后缀——str.endswith(suffix, start, end)

# str.endswith(suffix, start, end),检查字符串[start,end)以指定后缀结尾,是返回True,否则返回False
str1 = "this is string example....wow!!!"
str2 = "wow!!!"
print (str1.endswith(str2))        # True
print (str1.endswith(str2,20))      # True
str2 = "is"
print (str1.endswith(str2, 2, 4))   # True
print (str1.endswith(str2, 2, 6))   # False
print (str1.endswith(str2, 2, 7))   # True

True
True
True
False
True

将字符串的第一个字母变成大写,其他字母变小写——str.capitalize()

str1 = "aBCd Efgh ijK LmN"
print(str1.capitalize())  # 将字符串的第一个字母变成大写,其他字母变小写

Abcd efgh ijk lmn

转换字符串中所有大写字符为小写,将字符串中的小写字母转为大写字母——str.lower()、str.upper()

str1 = "aBCd Efgh ijK LmN"
print(str1.lower())   # 转换字符串中所有大写字符为小写
print(str1.upper())  # 将字符串中的小写字母转为大写字母

abcd efgh ijk lmn
ABCD EFGH IJK LMN

对字符串的大小写字母进行转换——str.swapcase()

str1 = "aBCd Efgh ijK LmN"
print(str1.swapcase())  # 对字符串的大小写字母进行转换

AbcD eFGH IJk lMn

返回字符串 str 中最小(大)的字母 ( ASCII码比大小)——max(str)、min(str)

str1 = "aBCd Efgh ijK LmN"
print(max(str1))   # 返回字符串 str 中最大的字母
print(min(str1))   # 返回字符串 str 中最小的字母  此实例是空格最小 ASCII码

m
  (空格最小)

把字符串的每个单词首字母大写——str.title()

str1 = "aBCd Efgh ijK LmN"
print(str1.title())   # 把字符串的每个单词首字母大写

Abcd Efgh Ijk Lmn

检测字符串组成

检测数字——str.isdigit()、str.isnumeric()、str.isdecimal()

str1 = "123456"
print(str1.isdigit())    # 检测字符串是否只由数字组成
print(str1.isnumeric())  # 检测字符串是否只由数字组成,这种方法是只针对unicode对象
print(str1.isdecimal())  # 检查字符串是否只包含十进制字符。这种方法只存在于unicode对象

检测字母——str.isalpha()

str1 = "abcd"
print(str1.isalpha())   # 检测字符串是否只由字母组成

检测字母和数字——str.isalnum()

str1 = "123456abcd"
print(str1.isalnum())   # 检测字符串是否由字母和数字组成

检测其他

str.isspace()   # 检测字符串是否只由空格组成
str.islower()   # 检测字符串是否由小写字母组成
str.isupper()   # 检测字符串中所有的字母是否都为大写
str.istitle()   # 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写

这几个就不举例子了

填充字符串 (左填充、右填充、居中填充)——str.rjust(width)、str.rjust(width)、str.rjust(width)

str1 = "abcd"
print(str1.ljust(10))   # str.rjust(width)  返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
print(str1.rjust(10))   # str.rjust(width)  返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
print(str1.center(10))   # str.rjust(width)  返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

abcd      
       abcd
    abcd    

把字符串分割成三部分,子字符串前的、子字符串、子字符串后的——str.partition(substr)、str.rpartition(substr)

str1 = "abcdefghijklmnabcdefghijklmn"
str2 = "efg"
print(str1.partition(str2))  # str.partition(substr) 返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
print(str1.rpartition(str2))  #类似于 partition()函数,不过是从右边开始

(‘abcd’, ‘efg’, ‘hijklmnabcdefghijklmn’)
(‘abcdefghijklmnabcd’, ‘efg’, ‘hijklmn’)

join函数

# str.join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
str = '-'
seq = ("a", "b", "c"); # 字符串序列
print(str.join(seq))  # 'a-b-c'

a-b-c

总结

到此这篇关于python字符串的一些常见实用操作的文章就介绍到这了,更多相关python字符串操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python open读写文件实现脚本
Sep 06 Python
压缩包密码破解示例分享(类似典破解)
Jan 17 Python
python使用wxPython打开并播放wav文件的方法
Apr 24 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
使用Python编写爬虫的基本模块及框架使用指南
Jan 20 Python
python实现折半查找和归并排序算法
Apr 14 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
用Python写王者荣耀刷金币脚本
Dec 21 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
python使用 request 发送表单数据操作示例
Sep 25 Python
python文件操作的简单方法总结
Nov 07 Python
python turtle绘图
May 04 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 #Python
Python Numpy库的超详细教程
进行数据处理的6个 Python 代码块分享
Apr 06 #Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 #Python
Python利用capstone实现反汇编
关于Python中进度条的六个实用技巧分享
如何在Python中妥善使用进度条详解
Apr 05 #Python
You might like
PHP编写RESTful接口的方法
2016/02/21 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
javascript String 的扩展方法集合
2008/06/01 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
jQuery实现导航高亮的方法【附demo源码下载】
2016/11/09 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
基于vue2.0实现的级联选择器
2017/06/09 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python中正则表达式详解
2017/05/17 Python
Python实现KNN邻近算法
2021/01/28 Python
利用python如何处理nc数据详解
2018/05/23 Python
python实现顺时针打印矩阵
2019/03/02 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
python安装后的目录在哪里
2020/06/21 Python
python破解同事的压缩包密码
2020/10/14 Python
蛋白质世界:Protein World
2017/11/23 全球购物
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
自我鉴定怎么写
2014/01/12 职场文书
总经理人事任命书
2014/06/05 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL