博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之string
阅读量:5862 次
发布时间:2019-06-19

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

1、string模块支持哪些字符形式?分别是什么。

    string支持的字符形式有:

('_re', '====>', <module 're' from 'C:\Python25\lib\re.pyc'>)

('ascii_letters', '====>', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
('ascii_lowercase', '====>', 'abcdefghijklmnopqrstuvwxyz')
('ascii_uppercase', '====>', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
('digits', '====>', '0123456789')
('hexdigits', '====>', '0123456789abcdefABCDEF')  #不太理解
('letters', '====>', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')#
('lowercase', '====>', 'abcdefghijklmnopqrstuvwxyz')
('octdigits', '====>', '01234567') #不太理解
('printable', '====>', '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c')#全部内容
('punctuation', '====>', '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~')  #标点符号
('uppercase', '====>', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
('whitespace', '====>', '\t\n\x0b\x0c\r ') #所有空字符

 

2、有哪些字符操作符?

简单做个分类:

关于大小写的函数:①操作首字母capitalize,capwords。②全部字母:upper,lower,swapcase

字符查找:①查找次数:count,②查找位置 find,index

字符串内容修改:①拆分 split ,②连接join,本人习惯用“+”,③对齐 rjust,ljust,center,④替换replace,替换空白字符 trim,ltrim,rtrim。

补充一些:拆分 str.partition(seq),根据seq拆分字符串,左起遇到第一个seq后,将str拆分,返回三个元组,如 hello word,seq=‘l’,返回结果: ('he', 'l', 'lo word')

string.capitalize(s)返回字符串s的一个副本,这个副本的第一个字符大写。

>>> s="hello world"

>>> string.capitalize(s)
'Hello world'

string.capwords(s)每个单词的首字母大写。

>>> string.capwords(s)

'Hello World'

 

>>> string.center(s,20)

'    hello world     '
>>> string.center(s,2)
'hello world'

>>> string.center(s,20,'*')

'****hello world*****'

string.center(s,width[,fillchar])函数,用指定的宽度来返回一个居中版的s,如果需要的话,就用fillchar进行填充,默认是空格。但是不会对s进行截取。即如果s的长度比width大,也不会对s进行截取。

>>> string.count(s,"h")

1

string.count(s,sub[,start[,end]])返回在s[start:end]范围内子串sub在字符串s当中出现的次数

>>> string.find(s,"a")

-1

string.find(s,sub[,start[,end]])返回在s[start:end]范围内子串sub在字符串s当中出现的最小下标,没有找到返回-1

string.index(s,sub[,start[,end]])与string.find方法类似,只不过当没有找到子串sub的时候,会抛出ValueError异常

>>> string.index(s,"a")

Traceback (most recent call last):
  File "<pyshell#233>", line 1, in <module>
    string.index(s,"a")
  File "C:\Python25\lib\string.py", line 326, in index
    return s.index(*args)
ValueError: substring not found

>>> string.ljust(s,20)

'hello world         '
string.ljust(s, width[, fillchar])字符串的左对齐,

那么string.rjust()就是右对齐。

>>> string.upper(s)

'HELLO WORLD'
>>> string.lower(s)

'hello world'

string.upper()和string.lower()比较简单。就是全部转换为大写或者小写

>>> string.swapcase(s)

'HELLO WORLD'

string.swapcase()实现大小写的转换。将大写转换为小写,将小写转换为大写。

>>> s="  hello world "

>>> string.strip(s)
'hello world'
string.strip(s)剔除字符串s左右空格

>>> string.lstrip(s)

'hello world '
>>> string.rstrip(s)
'  hello world'
string.lstrip(s)和string.rstrip(s)分别剔除字符串左、右边的空格

>>> string.zfill(s,20)

'000000  hello world '
>>> string.zfill(s,2)
'  hello world '
string.zfill(s,width)与center类似,不过这里的填充使用"0"来替代。

s="abc"

>>> x=string.maketrans(string.ascii_letters,string.ascii_letters[2:]+string.ascii_letters[:2])

>>> string.translate(s,x)
'cde'

string.maketrans()和string.translate()一般配合使用,用maketrans定义字符串的转换规则,然后用translate来实现。

我们可以用它来实现swapcase()方法

>>> x=string.maketrans(string.ascii_letters,string.letters)

>>> string.translate("AbCdEf",x)

'aBcDeF'

>>> string.translate("Ab CdE f",x)
'aB cDe F'

>>> string.split("hello world")

['hello', 'world']
string.split(s, sep=None, maxsplit=-1)用sep拆分s,返回拆分后的列表,如果sep没有提供或者为None,那么默认的就是空格

string.join的功能刚好与其相反。

>>> l=string.split("hello world")

>>> string.join(l)
'hello world'
join(list [,sep])是用sep把list组合成一个字符串返回。

转载于:https://www.cnblogs.com/hdk1993/p/8894008.html

你可能感兴趣的文章
实现台式机redhat6.4无线网卡上网RTL8188CUS
查看>>
工作的几点思考
查看>>
(转)st(state-threads) coroutine和stack分析
查看>>
jsp页面利用JS做即时时间显示
查看>>
hadoop-05-mysql修改密码
查看>>
jekyll 与hexo
查看>>
web前端面试题目汇总
查看>>
常见的25个python面试问答
查看>>
Nginx rewrite模块深入浅出详解
查看>>
怎么高效查找和正确改变谷歌浏览器编码格式(新版和旧版Google Chrome)(图文详解)...
查看>>
MySQL5.7.20 二进制包 在Linux系统中的 安装和配置
查看>>
黄聪:Fiddler对安卓应用手机抓包图文教程
查看>>
Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)...
查看>>
【Spark】SparkStreaming-CPU资源设置的蹊跷
查看>>
mysql优化-------Myisam与innodb引擎,索引文件的区别
查看>>
hdu 4803 Poor Warehouse Keeper(贪心+数学)
查看>>
Spring Boot中的缓存支持(一)注解配置与EhCache使用
查看>>
转: chrome64打开弹出窗flash的办法
查看>>
Doubango简介-sip
查看>>
Sql server bulk insert
查看>>