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 相关文章推荐
wxpython中自定义事件的实现与使用方法分析
Jul 21 Python
python中requests小技巧
May 10 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
用Django写天气预报查询网站
Oct 21 Python
Python paramiko模块使用解析(实现ssh)
Aug 30 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
如何在vscode中安装python库的方法步骤
Jan 06 Python
python中封包建立过程实例
Feb 18 Python
神经网络训练采用gpu设置的方式
Mar 03 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中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
php数组键名技巧小结
2015/02/17 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
javascript 短路法代码精简
2009/08/20 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
vue axios 二次封装的示例代码
2017/12/08 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
Python中用于计算对数的log()方法
2015/05/15 Python
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
mac系统安装Python3初体验
2018/01/02 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
python实现宿舍管理系统
2019/11/22 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
类的核心特性有哪些
2014/01/01 面试题
物流经理自我评价
2013/09/23 职场文书
迟到检讨书400字
2014/01/13 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
2014年行政部工作总结
2014/11/19 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
素质教育学习心得体会
2016/01/19 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
Golang解析JSON对象
2022/04/30 Golang