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 学习笔记
Dec 27 Python
Python全局变量用法实例分析
Jul 19 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
让Python脚本暂停执行的几种方法(小结)
Jul 11 Python
基于python3 的百度图片下载器的实现代码
Nov 05 Python
使用python绘制二维图形示例
Nov 22 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
如何基于pandas读取csv后合并两个股票
Sep 25 Python
如何利用python生成MD5并去重
Dec 07 Python
Python入门学习之类的相关知识总结
May 25 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
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
PHP查询快递信息的方法
2015/03/07 PHP
php实现通过ftp上传文件
2015/06/19 PHP
jqgrid 简单学习笔记
2011/05/03 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
详解angularjs 关于ui-router分层使用
2017/06/12 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
浅谈js闭包理解
2019/04/01 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
你应该知道的python列表去重方法
2017/01/17 Python
使用Python对SQLite数据库操作
2017/04/06 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
python爬虫可以爬什么
2020/06/16 Python
Python异常处理机制结构实例解析
2020/07/23 Python
python反扒机制的5种解决方法
2021/02/06 Python
工作表现自我评价
2014/02/08 职场文书
会计专业求职信范文
2014/03/16 职场文书
新闻发布会主持词
2014/03/28 职场文书
求职信怎么写
2014/05/23 职场文书
创新社会管理心得体会
2014/09/12 职场文书
python turtle绘图
2022/05/04 Python
redis lua限流算法实现示例
2022/07/15 Redis