文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python:字符串函数

2023-01-31 04:07

关注

String模块中的常量:

string.digits:数字0~9

string.letters:所有字母(大小写)

string.lowercase:所有小写字母

string.printable:可打印字符的字符串

string.punctuation:所有标点

string.uppercase:所有大写字母

>>> import string
>>> string.digits
'0123456789'
>>> string.letters
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
>>> string.lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'


1、find函数

在一个较长的字符串中查询子字符串,返回子串所在位置最左端索引,没有找到返回-1

>>> title = "Monty Python's Flying Circus"
>>> title.find('Monty')
0
>>> title.find('monty')
-1
可以选择起始点和结束点

>>> title.find('Python')
6
>>> title.find('Python', 3)
6
>>> title.find('Python', 3, 10)
-1

2、join函数

在队列中添加元素(只能操作于字符串,返回一个修改后的字符串,但是原字符串不改变)

>>> seq = ['1', '2', '3', '4', '5']
>>> sep = '+'
>>> sep.join(seq)
'1+2+3+4+5'
>>> seq
['1', '2', '3', '4', '5']
>>> dirs = '', 'usr', 'bin', 'env'
>>> '/'.join(dirs)
'/usr/bin/env'
>>> print 'C:' + '\\'.join(dirs)
C:\usr\bin\env

逆方法:split函数

将字符串分割成序列,返回该序列,原字符串不改变

>>> word = '1+2+3+4+5'
>>> word.split('+')
['1', '2', '3', '4', '5']
>>> word
'1+2+3+4+5'

3、lower函数

返回字符串的小写字母版

>>> 'fafDAWdfaweDWED'.lower()
'fafdawdfawedwed'
扩展:

title函数:首字母大写,其他小写

>>> "that's all folks".title()
"That'S All Folks"
capwords函数:功能同上,为string模块中函数

>>> import string
>>> string.capwords("that's all folks")
"That's All Folks"

4、replace函数

返回某字符串所有匹配项均被替换之后得到的字符串,原字符串不改变

>>> word = 'this is a test'
>>> word.replace('is', 'eez')
'theez eez a test'
>>> word
'this is a test'

maketrans函数:功能同上,string中的转换表,共有256个项目,函数接受2个等长的字符串,第一个字符串中的每个字符都用第二个字符串中相应位置的字符来进行替换

maketrans类似于一种规则,经常与translate结合,以完成一些普通函数无法完成的字符串替换

>>> from string import maketrans
>>> table = maketrans('cs', 'kz')
>>> len(table)
256
>>> table[97:123]
'abkdefghijklmnopqrztuvwxyz'
>>> maketrans('','')[97:123]
'abcdefghijklmnopqrstuvwxyz'

translate函数:功能同上,但是只能处理单个字符,有2个参数,第一个是替换,第二个是删除

例:table承继maketrans中的table

>>> 'this is an incredible test'.translate(table)
'thiz iz an inkredible tezt'
>>> 'this is an incredible test'.translate(table, ' ')
'thizizaninkredibletezt'


5、strip函数

去除两侧(不包括内部)空格的字符串,原序列不变

>>> word = '   this is test    '
>>> word.strip()
'this is test'
>>> word
'   this is test    '
可在strip()加入参数,以去除想要去掉的指定字符

>>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('*')
'  SPAM  *  for  *  everyone!!!  '
>>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('* ')
'SPAM  *  for  *  everyone!!!'
>>> '***  SPAM  *  for  *  everyone!!!  ***'.strip('* !')
'SPAM  *  for  *  everyone'




阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯