博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python的字符串
阅读量:4286 次
发布时间:2019-05-27

本文共 1943 字,大约阅读时间需要 6 分钟。

Python有内置的字符串类型, 内置的字符串是序列(Sequence), 是不可变的序列,  所以不可变序列通用的方法对其都适用.

 

 

对Python2, 内置的字符串类型有strunicode

Python2

'abc' 是str, u'中国123'  是unicode

# Python2.7>>> type('abc')
>>> type(u'中国123')

 

如果我们使用Python2, 应该都尽量使用unicode,就算是纯英文的. 

 

Python3

但在Python3中, 没有预定义unicode类型了,内置字符串就是str, 但是str中的字符都是unicode编码的 

#Python3.3>>> type(u'中国')
>>> type('abc')
>>> type(str)
>>> type(unicode)NameError: name 'unicode' is not defined

 

 

 

 

下面讨论一些Python内置字符串常用的方法, Python2中这些方法对str和unicode基本都是一样的, 没有讨论到的去文档查阅就行,基本上需要的功能都有方法实现.

 

字符串分隔, split

str.split()接受分隔字符串, 返回分隔后的一个list

>>> s = 'wangyu@lvye.cn'>>> s.split('@')['wangyu', 'lvye.cn']

 

如果同一个分隔符连续多个存在,则在返回结果中会有空字符串

>>> s = 'wangyu@@@@lvye.cn'>>> s.split('@')['wangyu', '', '', '', 'lvye.cn']

4个连续的@产生了3个空串

 

当分隔字符串是多字符的,必须是全匹配

>>> s = 'abc<>cba'>>> s.split('<>')['abc', 'cba']

 

 一个反面例子

>>> s = 'abc<>cba%$acb'>>> s.split('<>$')['abc<>cba%$acb']

 

str.split()也可以不接受参数,这时候是使用空格做分隔,且不产生空串,如果开头和结尾有空格,也会被忽略掉

>>> s = ' we are the   champion'>>> s.split()['we', 'are', 'the', 'champion']

 

 

子串替换

  str.replace(old, new [, count])

replace把old替换成new,并且可以指定替换个数, 而且函数返回一个copy,不会影响原来的str对象.

>>> s = 'he is nate, nate is his name'>>> s.replace('nate', 'sky')'he is sky, sky is his name'>>> s'he is nate, nate is his name'

 

 

 

 

子串查找

字串查找用find()或index(),  其中index()是序列通用的方法

不同的是若没找到find()返回-1, index()抛出异常ValueError, 找到返回字串索引.

find()和index()的语法相同

 

str.find(substr [, start [, end]])

 

普通使用

>>> s='we are are the champion'>>> s.find('ar')3

加上范围

>>> s='we are are the champion'>>> s.find('ar', 4)7

 

注意,如果只是想知道一个字符串是否包含一个子串,使用 in 

>>> s = 'we are the champion'>>> 'are' in sTrue

 

 

字符串的strip

同样的strip会copy一份原来的字串进行处理.

不加任何参数,去除左右的空格

>>> s = '    www.lvye.cn  '>>> s.strip()'www.lvye.cn'

 

带上参数

>>> s.strip('wcn. ')'lvye'

注意带上参数时,空格要显示指定.

strip还可以去除两端的换行符

 

 

字符串其它的方法

  •  isalpha()  是否都是字母
  •  isdigit()    是否都是数字
  •  upper()    都转化为大写

 

Python str的方法,Python文档中很全.

------------------------- 

 参考:

  Python文档

转载地址:http://dqxgi.baihongyu.com/

你可能感兴趣的文章
大数据学习路线大纲
查看>>
使用http请求,中文乱码问题--解决方法
查看>>
mybatis入门之接口式编程
查看>>
html页面中iframe嵌套页面的父页面和子页面js方法互相调用
查看>>
求字符串中变换位置问题
查看>>
求这个字符串中的最大的数字字符串
查看>>
json.loads
查看>>
快速截屏小工具
查看>>
selenium-webdriver(python) (十)
查看>>
swichomege安装
查看>>
复制文件File
查看>>
复制大文件
查看>>
Git使用
查看>>
文件加密与解密
查看>>
jsonp修改 增加callback
查看>>
Fiddler抓包8-打断点(bpu)
查看>>
Python安装和安装selenium
查看>>
python接口自动化1-发送get请求 request
查看>>
No module named 'email.mime'; 'email' is not a package
查看>>
编写第一个自动化脚本
查看>>