python3字符串操作总结


Posted in Python onJuly 24, 2019

介绍Python常见的字符串处理方式

字符串截取

>>>s = 'hello'
>>>s[0:3]
'he' 
>>>s[:] #截取全部字符
'hello'

消除空格及特殊符号    

s.strip() #消除字符串s左右两边的空白字符(包括'\t','\n','\r','')
 
s.strip('0') #消除字符串s左右两边的特殊字符(如'0'),字符串中间的'0'不会删除

例如:

>>>s = '000hello00world000'
>>>s.strip('0')
'hello00world'
s.strip('12')等价于s.strip('21')

例如:

>>>s = '12hello21'
>>>s.strip('12')
'hello'

lstrip,rstrip 用法与strip类似,分别用于消除左、右的字符

字符串复制

s1 = 'hello'
s2 = s1 # s2 = 'hello'

若指定长度

s1 = 'hello'
s2 = s1[0:2] #s2 = 'he'

字符串连接

s1 = 'hello'
s2 = 'world'
s3 = s1 + s2 #s3 = 'helloworld'

或者

import operator
s3 = operator.concat(s1,s2) #concat为字符串拼接函数

字符串比较

(1)利用operator模块方法比较(python3.X取消了cmd函数)

包含的方法有:

  • lt(a, b) ———— 小于
  • le(a, b) ———— 小于等于
  • eq(a, b) ———— 等于
  • ne(a, b) ———— 不等于
  • ge(a, b) ———— 大于等于
  • gt(a, b) ———— 大于

例子:

>>>import operator
>>>operator.eq('abc','edf') #根据ASCII码比较
Flase
>>>operator.gt('abc','ab')
True

(2)关系运算符比较(>,<,>=,<=,==,!=)

>>>s1 = 'abc'
>>>s2 = 'ab'
>>>s1 > s2
True
>>>s1 == s2
False

求字符串长度

>>>s1 = 'hello'
>>>len(s1)
5

求字符串中最大字符,最小字符

>>>s1 = 'hello'
>>>max(s1) #求字符串s1中最大字符
'o'
>>>min(s1) #求字符串s2中最小字符
'e'

字符串大小写转换

主要有如下方法:

  1. upper ———— 转换为大写
  2. lower ———— 转换为小写
  3. title ———— 转换为标题(每个单词首字母大写)
  4. capitalize ———— 首字母大写
  5. swapcase ———— 大写变小写,小写变大写

例子:

>>>s1 = 'hello'
>>>s2 = 'WORLD'
>>>s3 = 'hello world'
>>>s1.upper() 
'HELLO'
>>>s2.lower() 
'world'
>>>s3.title() 
'Hello World'
>>>s3.capitalize() 
'Hello world'
>>>s3.title().swapcase() 
'hELLO wORLD'

字符串翻转

>>>s1 = 'hello'
>>>s1[::-1]
'olleh'

字符串分割

split方法,根据参数进行分割,返回一个列表

例子:

>>>s1 = 'hello,world'
>>>s1.split(',')
['hello','world']

字符串序列连接

join方法:

语法为str.join(seq) #seq为元素序列

例子:

>>>l = ['hello','world']
>>>str = '-'
>>>str.join(l)
'hello-world'

字符串内查找

find方法:

检测字符串内是否包含子串str

语法为:

str.find(str[,start,end]) #str为要查找的字符串;strat为查找起始位置,默认为0;end为查找终止位置,默认为字符串长度。若找到返回起始位置索引,否则返回-1

例子:

>>>s1 = 'today is a fine day'
>>>s1.find('is')
6
>>>s1.find('is',3)
6
>>>s1.find('is',7,10)
-1

字符串内替换

replace方法:

把字符串中的旧串替换成新串

语法为:

str.replace(old,new[,max]) #old为旧串,new为新串,max可选,为替换次数

例子:

>>>s1 = 'today is a find day'
>>>s1.replace('find','rainy')
'today is a rainy day'

判断字符串组成

主要有如下方法:

  • isdigit ———— 检测字符串时候只由数字组成
  • isalnum ———— 检测字符串是否只由数字和字母组成
  • isalpha ———— 检测字符串是否只由字母组成
  • islower ———— 检测字符串是否只含有小写字母
  • isupper ———— 检测字符串是否只含有大写字母
  • isspace ———— 检测字符串是否只含有空格
  • istitle ———— 检测字符串是否是标题(每个单词首字母大写)

例子:

>>>s1 = 'hello'
>>>s1.islower()
True
>>>s1.isdigit()
False

字符串转数组

a = 'My name is Jason'
#使用split(str="", num=string.count(str)) 方法根据不同的分割符转,也可指定分割次数,可使用 ' '.join方法转回
>>> 'My name is Jason'.split(' ')
['My', 'name', 'is', 'Jason']
>>> ' '.join(['My', 'name', 'is', 'Jason'])
'My name is Jason'

字符串首尾匹配

>>> 'cat.jpg'.startswith('cat')
True
>>> 'cat.jpg'.startswith('cat',0,3)
True
>>> 'cat.jpg'.endswith('.jpg')
True
>>> 'cat.jpg'.endswith('.jpg',-4)
True

字符串空格处理

>>> s = ' Hello World  '
>>> s.strip()
'Hello World'
>>> s.lstrip()
'Hello World  '
>>> s.rstrip()
' Hello World'
#扩展
>>> 'www.example.com'.lstrip('www.')
'example.com'
>>> 'www.example.com'.lstrip('cmowz.')
'example.com'

字符串格式化、数字及大小写判断、长度补全

#字符串的格式化
>>> '{name},{sex},{age}'.format(age=15,sex='male',name='小安')
'小安,male,15'
>>> '{1},{0},{2}'.format('15','小安','male')
'小安,15,male'
>>> '{},{},{}'.format('小安', '15','male')
'小安,15,male'

#如果字符串中的所有字符都是数字,并且至少有一个字符,则返回真,否则返回假
>>> '123'.isdigit()
True
>>> '123一二三'.isdigit()
False
#isnumeric 是所有字符都是数字字符返回真
>>> '123一二三'.isnumeric()
True

#字符串是否大小写判断
>>> 'abc'.islower()
True
>>> 'Abc'.islower()
False
>>> 'ABC'.isupper()
True

#首字母大写
>>> "they're bill's friends from the UK".title()
"They'Re Bill'S Friends From The Uk"
#正则处理方式
>>> import re
>>> def titlecase(s):
...   return re.sub(r"[A-Za-z]+('[A-Za-z]+)?",
...          lambda mo: mo.group(0)[0].upper() +
...               mo.group(0)[1:].lower(),
...          s)
...
>>> titlecase("they're bill's friends.")
"They're Bill's Friends."

#返回指定长度字符串,前面补0,一般存csv文件中含00开头的字符0会被抹掉
>>> code = '1'
>>> code.zfill(6)
'000001'

#字符串长度及遍历
>>> s = '混蛋哥'
>>> len(s)
3
>>> for i in s:
  print(i)
混
蛋
哥
>>>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Centos Python2 升级到Python3的简单实现
Jun 21 Python
Django应用程序中如何发送电子邮件详解
Feb 04 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
python实现简单tftp(基于udp协议)
Jul 30 Python
Python get获取页面cookie代码实例
Sep 12 Python
python3的print()函数的用法图文讲解
Jul 16 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
python中树与树的表示知识点总结
Sep 14 Python
在TensorFlow中屏蔽warning的方式
Feb 04 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 #Python
django如何自己创建一个中间件
Jul 24 #Python
django如何通过类视图使用装饰器
Jul 24 #Python
django 类视图的使用方法详解
Jul 24 #Python
django如何实现视图重定向
Jul 24 #Python
python字符串分割及字符串的一些常规方法
Jul 24 #Python
django使用haystack调用Elasticsearch实现索引搜索
Jul 24 #Python
You might like
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
[30:00]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第二场 11.28
2020/12/01 DOTA
Python实现Const详解
2015/01/27 Python
详解Python3.1版本带来的核心变化
2015/04/07 Python
Django日志模块logging的配置详解
2017/02/14 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
python模糊图片过滤的方法
2018/12/14 Python
python实现可逆简单的加密算法
2019/03/22 Python
简单了解django缓存方式及配置
2019/07/19 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
社区工作者先进事迹
2014/01/18 职场文书
四年级语文教学反思
2014/02/05 职场文书
教师工作总结范文2014
2014/11/10 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
python实现A*寻路算法
2021/06/13 Python
python如何将mat文件转为png
2022/07/15 Python