前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python的字符串方法

Python的字符串方法

作者头像
py3study
发布2020-01-15 01:03:03
5590
发布2020-01-15 01:03:03
举报
文章被收录于专栏:python3python3

Python字符串方法:

s.isdigit() -> bool  Return True if all characters in S are digits

s.islower() -> bool   Return True if all cased characters in S are lowercase                   

s.isspace() -> bool  Return True if all characters in S are whitespace

s.istitle() -> bool  如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.                   

s.isupper() -> bool   如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False                  

s.isalpha() -> bool    如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False                 

s.isalnum() -> bool   如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False               

s.strip([chars]) -> string or unicode  截掉 string 左边和右边的空格或指定的字符,默认为空格

s.rstrip([chars])-> string or unicode  删除 string 字符串末尾的指定字符(默认为空格).

s.lstrip([chars])  -> string or unicode     用于截掉字符串左边的空格或指定字符               

代码语言:javascript
复制
str = "     this is string example....wow!!!     ";
print str.lstrip();
print str.rstrip();
print str.strip();
str = "88888888this is string example....wow!!!8888888";
print str.lstrip('8');
print str.rstrip('8');
print str.strip('8');

s.split([sep [,maxsplit]]) -> list of strings  以 sep 为分隔符切片 string,如果 maxsplit有指定值,则仅分隔 maxsplit个子字符串

s.rsplit([sep [,maxsplit]]) -> list of strings

代码语言:javascript
复制
s='hello wolrd I love you'
print s.split(' ',2)
print s.rsplit(' ',2)
str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print str.split( );
print str.split(' ', 1 );
print str.rsplit( );
print str.rsplit(' ', 1 );

s.splitlines(keepends=False)  -> list of strings        按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

代码语言:javascript
复制
str1 = 'ab c\n\nde fg\rkl\r\n'
print str1.splitlines();
str2 = 'ab c\n\nde fg\rkl\r\n'
print str2.splitlines(True)

s.index(sub [,start [,end]]) -> int     跟find()方法一样,只不过如果sub不在 string中会报一个异常.

s.rindex(sub [,start [,end]])  -> int  从右边开始.

代码语言:javascript
复制
str1 = "this is string example....wow!!!";
str2 = "exam";
 
print str1.index(str2);
print str1.index(str2, 10);
print str1.index(str2, 40); #抛错

str1 = "this is string example....wow!!!";
str2 = "is";

print str1.rindex(str2);
print str1.index(str2);

s.find(sub [,start [,end]])  -> int        检测 sub 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1               

s.rfind(sub [,start [,end]])  -> int   右边开始查找.返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。

代码语言:javascript
复制
str = "this is really a string example....wow!!!";
substr = "is";
print str.rfind(substr); #5
print str.rfind(substr, 0, 10); #5
print str.rfind(substr, 10, 0); #-1
print str.find(substr); #2
print str.find(substr, 0, 10); #2
print str.find(substr, 10, 0); #-1

s.ljust(width[, fillchar]) -> string      返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

s.rjust(width[, fillchar]) -> string

代码语言:javascript
复制
str = "this is string example....wow!!!";
print str.ljust(50, '0');
print str.rjust(50, '0'); #000000000000000000this is string example....wow!!!

s.partition(sep) -> (head, sep, tail)      find()和 split()的结合体,从str出现的第一个位置起,把字符string 分成一个3元素的元组 string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str== string.

s.rpartition(sep) -> (head, sep, tail)      类似于 partition()函数,不过是从右边开始查找.           

代码语言:javascript
复制
str = "http://www.w3cschool.cc/"
print str.partition("://") #('http', '://', 'www.w3cschool.cc/')
print str.rpartition("://") #('http', '://', 'www.w3cschool.cc/')
print str.split("://") #['http', 'www.w3cschool.cc/']

s.capitalize() -> string        把字符串的第一个字符大写,其他字母变小写

代码语言:javascript
复制
s = 'a, B'
print s.capitalize() #A, b

s.center(width[, fillchar]) -> string       返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

代码语言:javascript
复制
str = 'runoob'
print str.center(20, '*')
print str.center(20)

s.startswith(prefix[, start[, end]]) -> bool  用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查

代码语言:javascript
复制
str = "this is string example....wow!!!";
print str.startswith( 'this' );
print str.startswith( 'is', 2, 4 );
print str.startswith( 'this', 2, 4 );#False

s.endswith(suffix[, start[, end]]) -> bool              用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。     

代码语言:javascript
复制
str = "this is string example....wow!!!";
suffix = "wow!!!";
print str.endswith(suffix);
print str.endswith(suffix,20);
suffix = "is";
print str.endswith(suffix, 2, 4);
print str.endswith(suffix, 2, 6); #False

s.count(sub[, start[, end]]) -> int    返回 sub 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 sub出现的次数                   

代码语言:javascript
复制
str = "this is string example....wow!!!";
sub = "i";
print "str.count(sub, 4, 40) : ", str.count(sub, 4, 40)
sub = "wow";
print "str.count(sub) : ", str.count(sub)

s.join(iterable) -> string          join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串              

代码语言:javascript
复制
str = "-";
seq = ["a", "b", "c"]; # 字符串序列
print str.join(seq);

s.decode([encoding[,errors]]) -> object    以encoding指定的编码格式解码string,如果出错默认报一个ValueError的异常,除非 errors指定的是'ignore'或者'replace'   

代码语言:javascript
复制
str = "this is string example....wow!!!";
str = str.encode('base64','strict');
print "Encoded String: " + str;
print "Decoded String: " + str.decode('base64','strict')

s.encode([encoding[,errors]]) -> object      以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'                                       

代码语言:javascript
复制
str = "this is string example....wow!!!";
print "Encoded String: " + str.encode('base64','strict')
print "Encoded String: " + str.encode('UTF-8','strict')

s.swapcase() -> string        翻转 string 中的大小写

s.lower()  -> string              转换 string 中的小写字母为小写           

s.upper()    -> string          转换 string 中的小写字母为大写           

s.title()-> string                 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写  

代码语言:javascript
复制
str = "this is string example....wow!!!";
print str.title();

s.translate(table [,deletechars]) -> string              据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 deletechars参数中。

代码语言:javascript
复制
python2的写法:

import string   # 导入string模块
  
intab = "aeiou"
outtab = "12345"
deltab = "thw"
  
trantab = string.maketrans(intab,outtab) # 创建字符映射转换表
  
test = "this is string example....wow!!!";
  
print test.translate(trantab);
print test.translate(trantab,deltab); # Python2中,删除指定字符在 translate() 方法中


python3的写法:
intab = "aeiou"
outtab = "12345"
deltab = "thw"
  
trantab1 = str.maketrans(intab,outtab) # 创建字符映射转换表
trantab2 = str.maketrans(intab,outtab,deltab) #创建字符映射转换表,并删除指定字符
  
test = "this is string example....wow!!!"
  
print(test.translate(trantab1))
print(test.translate(trantab2))

s.expandtabs([tabsize]) -> string    把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。     

代码语言:javascript
复制
str = "this is\tstring example....wow!!!";
print "Original string: " + str;
print "Defualt exapanded tab: " +  str.expandtabs(); #默认一个空格替换\t
print "Double exapanded tab: " +  str.expandtabs(16);

s.replace(old, new[, count]) -> string  :返回的替换后的字符串,原来的字符串并不改变

代码语言:javascript
复制
s='hello python,hello world,hello c++,hello java!'
print s.replace('hello','Hello')#将字符串s中的所有'hello'子串,替换成'Hello',返回替换后的字符串,原字符串s不变
print s.replace('hello','Hello',2)#将字符串s中的前2个'hello'子串,替换成'Hello'
print s.replace('wahaha','haha')#要替换的'wahaha'子串不存在,直接返回原字符串

s.format(*args, **kwargs) -> string     

代码语言:javascript
复制
#通过位置格式化
who=('北京','我')
print '{1}去{0}'.format(*who)
#通过关键字格式化
who1={'where':'北京','who':'you'}
print '{who}去{where}'.format(**who1)
print '{:^20}'.format('你好啊') #居中对齐,后面带宽度
print '{:>20}'.format('你好啊') #右对齐,后面带宽度
print '{:<20}'.format('你好啊') #左对齐,后面带宽度
print '{:*<20}'.format('你好啊') #左对齐,后面带宽度,不够就填空
print '{:&>20}'.format('你好啊') #左对齐,后面带宽度,不够就填空
print '{:.1f}'.format(4.234324525254) #精度和类型f
print '{:.4f}'.format(4.1) #精度和类型f
print '{:b}'.format(250) #二进制转换
print '{:o}'.format(250) #八进制转换
print '{:d}'.format(250) #十进制转换
print '{:x}'.format(250) #十六进制转换
print '{:,}'.format(100000000) #千位分隔符,这种情况只针对于数字
print '{:,}'.format(235445.234235) #千位分隔符,这种情况只针对于数字

s.zfill(width) -> string   返回长度为 width 的字符串,原字符串 string 右对齐,如果长度不够前面填充0

代码语言:javascript
复制
s='hello wolrd I love you'
print s.zfill(50)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档