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

你可能感兴趣的:(day4-Python字符串常用内建函数)