day4-Python字符串常用内建函数

Python字符串常用内建函数

1. capitalize()

str1.capitalize() -- 将字符串str1第一个字符转换为大写,若不为字母则无效果

str1 = 'cjzh'
new_str1 = str1.capitalize()
print(new_str1)                     # Cjzh

2. center()

字符串.center(width,fillchar) -- 居中
字符串.ljust(width,fillchar) -- 左对齐
字符串.rjust(width,fillchar) -- 右对齐
width -- 正整数,表示新的字符串的宽度
fillchar -- 字符,填充字符串

str2 = '123'
new_str2 = str2.center(7, '$')
print(new_str2)  # 新字符串7个长度,123居中,其余用$填充 $$123$$

new_str2 = str2.ljust(7, '$')
print(new_str2)  # 新字符串7个长度,123左对齐,其余用$填充 123$$$$

new_str2 = str2.rjust(7, '$')
print(new_str2)  # 新字符串7个长度,123右对齐,其余用$填充 $$$$123

3. count(str)

str1.count(str2) -- 返回str2在str1中出现的次数

str3 = 'cj1cj2cj3cj4cj5'
n = str3.count('cj')
print(n)                        # 5

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

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

6. endswith()

str1.endswith(char1) -- 检查str1是否以char1结尾,返回值为布尔

str6 = 'cj1cj2cj3'
bool1 = str6.endswith('3')
print(bool1)                       #True

7. expandtaps(tabsize=8) -- 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8

8. find(str,beg=0,end=len(string))

str1.find(str2,0,len(str1)) -- 在指定下标范围0~len(str1)内,检查str2是否包含其中,如果包含则返回首个str2(此处为左起第一个类比rfind())开始的下标,否则返回-1

str8 = '0cj1cj2cj'
n1 = str8.find('cj', 0, 9)
n2 = str8.find('3', 0, 9)
print(n1)                          # 1
print(n2)                          # -1

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

str1.index(str2,0,len(str1)) -- 在指定下标范围0~len(str1)内,检查str2是否包含其中,如果包含则返回首个str2开始的下标,否则报一个异常:ValueError: substring not found。

str9 = '1cj2cj'
n = str9.index('2')     #不写范围则默认整个字符串
print(n)                # 3 如果报异常则以下代码会出错

10. isalnum()

str1.isalnum() -- 判断str1是否所有字符都是字母或数字,是则返回True,否则返回False。

str10 = '1cj2cj'
bool2 = str10.isalnum()
print(bool2)                   #True

11. isalpha()

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

str11 = 'abcdd'
print(str11.isalpha())       #True

12. isdigit()

str1.isdigit() -- 如果str1只包含数字则返回 True 否则返回 False.

print('16217cj1421621'.isdigit())       #False

13. islower()

str1.islower() -- 如果str1中包含至少一个区分大小写的字符(拉丁文也区分大小写),并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

print('cj12837138zh'.islower())   #True

14. isnumeric()

str1.isnumeric() -- 如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)

str14 = '1一Ⅰ壹幺'
print(str14.isnumeric())            #True

15. isspace()

str1.isspace() -- 如果str1中只包含空白,则返回 True,否则返回 False.用于判断str1是否为空。

str15 = '     '
print(str15.isspace())     #True 空指的是空格,不是None''

16. istitle()

str1.istitle() -- 如果str1是标题化的(见 title())则返回 True,否则返回
False

str16 = 'Cj Zh Qf '
print(str16.istitle())          # True

17. isupper() 类比 islower()相反

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

str17 = 'AJKIHdkdj12124'
print(str17.isupper())       # False

18. join(seq) 类比 sep =

str1.join(str2) -- 以str1作为分隔符,分隔str2每一个字符,将str2中所有的元素(的字符串表示)合并为一个新的字符串。

str18 = '¥'
new_str18 = str18.join('money')
print(new_str18)          # m¥o¥n¥e¥y

19. len(str)

len(str1) -- 返回str1的长度

str19 = '0123456'
print(len(str19))    # 7

20. ljust(width, fillchar)

返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。见2

21. lower()

str1.lower() -- 转换str1中所有大写字符为小写。

str21 = 'aAbBcCjJ'
print(str21.lower())       # aabbccjj

22. lstrip()

str1.lstrip(char) -- 截掉str1左边的空格或指定字符。默认为空格

str22 = '    cjcjcjcjcj'
new_str22 = '#*#jcjcjcjcj'
print(str22.lstrip())              #'cjcjcjcjcj'
print(new_str22.lstrip('#'))       #'*#jcjcjcjcj'

23. maketrans() ??????????

str1.maketrans() -- 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

24. max(str)

max(str1) -- 返回str1中编码值最大的字母

str24 = 'aAbBcCjJ'
print(max(str24))         # j

25. min(str)

min(str1) -- 返回str1中编码值最小的字母

str25 = 'aAbBcCjJ2234'
print(min(str25))             #  2

26. replace(old,new,max)

str3.replace(str1,str2,max]) -- 把str3中的str1替换成str2,如果max 指定,则替换不超过 max 次。

str26 = 'aaaaaabbbbbbcccccc12344'
new_str26 = str26.replace('a', '$', 3)
print(new_str26)           # '$$$aaabbbbbbcccccc12344'

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

str1.rfind(str2,0,len(string)) -- 从右边开始检测 str2是否包含在str1中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值(正),否则返回-1

str27 = '1cj2cj3cj4zh'
print(str27.rfind('c'))        # 7  即右起第一个c的位置!!
print(str27.rfind('jc'))       # -1 没有‘jc’

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

str1.rindex(str2,0,len(str1)) -- 从右边开始检测 str2是否包含在str1中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值(正),否则返回-1。即:右起第一个str2的开始正下标

str28 = 'abababcjcjcjzhzhzh'
print(str28.rindex('cj'))         #  10 右起第1个‘cj’的开始下标

29. rjust(width,fillchar)

具体使用见 2

30. rstrip()

str1.rstrip(char1) -- 删除str1末尾的指定字符char1,直到不为char1为止,默认char1为空格。

str30 = '1234asdfcj   '
new_str30 = '1234asdfcj#*##'
print(str30.rstrip())                 # 1234asdfcj
print(new_str30.rstrip('#'))          # 1234asdfcj#*

31. split()

str1.split(str2,num) -- 用char1为分隔符截取str1为一个列表,num表示截取次数默认为char1在str1中出现的次数 即num(默认)=str1.count(str2)。

str31 = 'abc##def##ghi##334##678'
print(str31.split('##', 2))            #截取两次 ['abc','def','ghi##334##678']

32. splitlines([keepends])

str1.splitlines(bool) -- 将字符串str1按照行('\r', '\r\n', \n')分隔,返回
一个包含各行作为元素的列表,如果bool为 False,不包含换行符,如果为 True,则保留换行符。

str32 = '123\n456\r888\n'
print(str32.splitlines(True)) # ['123\n','456\r','888\n']

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

str1.startswith(str2,0,len(str1)) -- 检查str1是否是以str2开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

str33 = '123321'
print(str33.startswith('12'))   # True

34. strip(char)

str1.strip(char1) -- 删除str1左边lstrip()和右边rstrip的字符char1

str34 = '$$123456$$'
print(str34.strip('$'))   # 123456

35. swapcase()

str1.swapcase() -- 将str1中大写转换为小写,小写转换为大写

str35 = 'aAbBcCjJ'
print(str35.swapcase())   # AaBbCcJj

36. title()

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

str36 = 'student is teacher' #注意单词之间要用空格隔开
print(str36.title())        # Student Is Teacher

37. translate(table, deletechars="") ???????????????

根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中

38. upper()

str1.upper() -- 转换str1中的小写字母为大写

str38 = 'AaBbCcJj'
print(str38.upper())        # AABBCCJJ

39. zfill(width)

str1.zfill(n) -- 将str1返回为长度n的新字符串,以原字符串右对齐,前面填充0。

str39 = '123cjcjcj'
print(str39.zfill(12))  # 000123cjcjcj
print(str39)           # 123cjcjcj

40. isdecimal()

str1.isdecima() -- 检查str1是否只包含十进制字符,如果是返回 true,否则返回 false。

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

推荐阅读更多精彩内容