3: Python基础-字符串函数汇总

1 capitalize

功能:将字符串的第一个字符转换为大写
my_str = "i love python"
result  =  my_str.capitalize()
print(result)

结果:I love python

2 center(width,fillchar)

功能:返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。如果width字符串长度,则结果返回原字符串
my_str = "i love python"
result  =  my_str.center(20,'*')
print(result)

结果:***i love python****

result  =  my_str.center(2,'*')
print(result)

结果:i love python

3 count(str, beg= 0,end=len(string))

功能:返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数检查的字符串为:my_str[beg:end] beg下标可以取到,end下标取不到
my_str = "i love python"
result  =  my_str.count('o')
print(result)

结果:2

my_str = "i love python"
result  =  my_str.count('n',3,-1)
print(result)

结果:0

4 bytes.decode(encoding="utf-8", errors="strict")

功能:Python3 中没有 decode 方法,但我们可以使用但我们可以使用 bytes 对象的 decode()方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
my_str = "i love python"
result  =  my_str.encode(encoding="utf-8", errors="strict")
result  =  result.decode(encoding="utf-8", errors="strict")
print(result)

结果:i love python

5 encode(encoding='UTF-8',errors='strict')

功能: 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
my_str = "i love python"
result  =  my_str.encode(encoding="utf-8", errors="strict")
print(result)

结果:b'i love python'

6 endswith(suffix, beg=0, end=len(string))

功能: 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.检查的字符串为:my_str[beg:end] beg下标可以取到,end下标取不到
my_str = "i love python"
result  =  my_str.endswith('n')
print(result)

结果: True

result  =  my_str.endswith('o',0,-1)
print(result)

结果: True

7 expandtabs(tabsize=8)

功能:把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
my_str = "i\tlove\tpython"
print(my_str)
result  =  my_str.expandtabs(10)
print(result)

结果:
i    love   python
i         love      python

8 find(str, beg=0 end=len(string)) 检测 str 是否包含在字符串中,

功能:如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
my_str = "i love python"
result  =  my_str.find('o')
print(result)

结果:3

result  =  my_str.find('n',0,-1)
print(result)

结果:-1

9 index(str, beg=0, end=len(string))

功能:跟find()方法一样,只不过如果str不在字符串中会报一个异常.
my_str = "i love python"
result  =  my_str.index('o',0,-1)
print(result)

结果:3

result  =  my_str.index('n',0,-1)
print(result)

结果:报错

10 isalnum()

功能:如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
my_str = "i love python"
result  =  my_str.isalnum()
print(result)

结果:False

my_str = "ilovepython21"
result  =  my_str.isalnum()
print(result)

结果:True

11 isalpha()

功能:如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
my_str = "ilovepython"
result  =  my_str.isalpha()
print(result)

结果:True

my_str = "i2lovepython"
result  =  my_str.isalpha()
print(result)

结果:False

12 isdigit()

功能:如果字符串只包含数字则返回 True 否则返回 False..
my_str = "123456"
result  =  my_str.isdigit()
print(result)

结果:True

13 islower()

功能:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
my_str = "i love python"
result  =  my_str.islower()
print(result)

结果:True

14 isnumeric()

功能: 如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)
my_str = "123456十贰二"
result  =  my_str.isnumeric()
print(result)

结果:True

15 isspace()

功能:如果字符串中只包含空白,则返回 True,否则返回 False.
my_str = "   "
result  =  my_str.isspace()
print(result)

结果:True

16 istitle()

功能: 如果字符串是标题化的(见 title())则返回 True,否则返回 False
my_str = "I Love U"
result  =  my_str.istitle()
print(result)

结果:True

17 isupper()

功能: 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
my_str = "I LOVE U"
result  =  my_str.isupper()
print(result)

结果:True

18 join(seq)

功能: 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
功能:将my_str 插入到 seq 每个字符之间
my_str = "I LOVE U"
result  =  my_str.join("Hey")
print(result)

结果:HI LOVE UeI LOVE Uy

19 len(string) 返回字符串长度

my_str = "I LOVE U"
result  =  len(my_str)
print(result)

结果:8

20 ljust(width[, fillchar])

功能:返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
my_str = "i love python"
result  =  my_str.ljust(20,'*')
print(result)

结果:i love python*******

21 lower()

功能:转换字符串中所有大写字符为小写.
my_str = "I LOVE U"
result  =  my_str.lower()
print(result)

结果:i love u

22 lstrip()

功能:截掉字符串左边的空格或指定字符字符串一个一个匹配,如果发现与被截字符串左侧的字符相同,则截去该字符
my_str = "  I LOVE U"
result  =  my_str.lstrip()
print(result)

结果: I LOVE U

my_str = "ILOVEU"
result  =  my_str.lstrip('I')
print(result)

结果:LOVEU

my_str = "ILOVEU"
result  =  my_str.lstrip('IALAAO')
print(result)

结果:VEU

a = 'c:/svncode'
b = 'c:/svncode/calendar'
print(b.lstrip(a))
strip方法只是比对字符并去除,而不是字符串!因此当b使用lstrip剩下'/calendar'的时候,会继续进行,a中有'/',因此'/calendar'变成'calendar',a中有'c',因此'calendar'变成'alendar'。

23 maketrans()

功能: 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,功能:第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。两个字符串的长度必须相同,为一一对应的关系。
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)

str1 = "this is string example....wow!!!"
print (str1.translate(trantab))

结果:th3s 3s str3ng 2x1mpl2....w4w!!!

24 max(str)

功能: 返回字符串 str 中最大的字母。
my_str = "ILOVEUZ"
result  =  max(my_str)
print(result)

结果:Z

25 min(str)

功能:返回字符串 str 中最小的字母。
my_str = "AaILOVEUZ"
result  =  min(my_str)
print(result)

结果:A

26 replace(old, new [, max])

功能:把将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
my_str = 'I make for you'
result  =  my_str.replace('o','9',1)
print(result)

结果: I make f9r you

27 rfind(str, beg=0,end=len(string))

功能:类似于 find()函数,不过是从右边开始查找.
my_str = "i love python"
result  =  my_str.rfind('o')
print(result)

结果:11

result  =  my_str.rfind('o',0,4)
print(result)

结果:3

28 rindex( str, beg=0, end=len(string))

功能:类似于 index(),不过是从右边开始.
my_str = "i love python"
result  =  my_str.rindex('o')
print(result)

结果:11

result  =  my_str.rindex('o',0,4)
print(result)

结果:3

29 rjust(width,[, fillchar])

功能:返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
my_str = "i love python"
result  =  my_str.rjust(20,'*')
print(result)

结果:*******i love python

30 rstrip() 删除字符串字符串末尾的空格.

功能:从"ILOVEU"尾部每一个字符开始,查找'IMVZEXU'是否含有该字符,若含有除"ILOVEU"中的该字符直到"ILOVEU"尾部对应的字符在'IMVZEXU'没有找到,停止截取操作
my_str = "ILOVEU"
result  =  my_str.rstrip('IMVZEXU')
print(result)

结果:ILO

31 split(str="", num=string.count(str)) num=string.count(str))

功能:以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
my_str = "IaLOVEaU"
result  =  my_str.split('a',1)
print(result)

结果:['I', 'LOVEaU']
result  =  my_str.split('a')
print(result)

结果:['I', 'LOVE', 'U']

32 splitlines([keepends])

功能:按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表:如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
my_str ='I\rLOVE\r\nUA\nA'
result  =  my_str.splitlines()
print(result)

结果:['I', 'LOVE', 'UA', 'A']

result  =  my_str.splitlines(True)
print(result)

结果:['I\r', 'LOVE\r\n', 'UA\n', 'A']

33 startswith(str, beg=0,end=len(string))

功能:检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
my_str = "I LOVE U"
result  =  my_str.startswith('I')
print(result)

结果: True

result  =  my_str.startswith('L',2,-1)
print(result)

结果: True

34 strip([chars])

功能:在字符串上执行 lstrip()和 rstrip(),前后同时开始截取操作
my_str = "ILOVEU"
result  =  my_str.strip('ILAEU')
print(result)

结果: OV

35 swapcase()

功能: 将字符串中大写转换为小写,小写转换为大写
my_str = "I love U"
result  =  my_str.swapcase()
print(result)

结果: i LOVE u

36 title()

功能: 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
my_str = "I love U"
result  =  my_str.title()
print(result)

结果: i LOVE u

37 translate(table, deletechars="")

功能: 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
A_str = 'abcd'
B_str=  '1234'
maketrans_code = str.maketrans(A_str,B_str)

my_str = 'l like abcd'
result = my_str.translate(maketrans_code)
print(result)

结果: l like 123

38 upper()

功能: 转换字符串中的小写字母为大写
my_str = "I love U"
result  =  my_str.upper()
print(result)

结果: I LOVE U

39 zfill (width)

功能: 返回长度为 width 的字符串,原字符串右对齐,前面填充0
my_str = "I love U"
result  =  my_str.zfill(20)
print(result)

结果: 000000000000I love U

40 isdecimal()

功能: 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
my_str = "123"
result  =  my_str.isdecimal()
print(result)

结果:True
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容