Python3.6 str内置方法

来源:互联网 发布:工地记工软件 编辑:程序博客网 时间:2024/06/05 20:11
s = str("Hello Python World!!")# Demo1 字符串拼接s1_1 = "Hello Python World!!"s1_2 = "Plus"s1_3 = s1_1 + s1_2print(s1_3)# "Hello Python World!!Plus"s1_3 = s1_1[0:5] + s1_2[3]print(s1_3)# "Hellos"# 切片[0:5]包含第一个位置,不包含第二个位置# Demo2 Capitalize 首字母大写s2_1 = "hello world!!"s2_2 = s2_1.capitalize()print(s2_2)# "Hello world!!"# Demo3 casefold 字符全部统一大小写(这个不推荐用因为貌似会根据不同系统,转换成大写或者小写)s3_1 = "HELLO PYTHON"s3_2 = s3_1.casefold()print(s3_2)# "hello python"# Demo4 center 第一个参数为生成的字符串的长度,第二个参数为填充的字符串s4_1 = "Hello Python"s4_2 = s4_1.center(20, '*')print(s4_2)# "****Hello Python****"# Demo5 count 第一个参数是需要数的字符或者字符串,第二第三个参数是起始位置(包含)和结束位置(不包含)# 返回值为有多少个s5_1 = "Hello Python"print(s5_1.count('l'))# 2print(s5_1.count('l', 2, 4))# 2print(s5_1.count('l', 0, 3))# 1# Demo6 endswith 以什么结尾s6_1 = "Hello Python!!!"print(s6_1.endswith("!!"))# Trueprint(s6_1.endswith("!!", 0, 5))# False# Demo7 expandtabs 把制表符修改为空格,数字为几个空格s7_1 = "tab\ttab\t!"print(s7_1)# tabtab!print(s7_1.expandtabs(15))# tab            tab            !# Demo8 find 返回第一个找到的字符位置,找不到返回-1s8_1 = "Hello World!!"print(s8_1.find('l', 3))# 3# Demo9 index 该方法与find类似,但是如果没找到会报个错s9_1 = "Hello Python!!!"print(s9_1.index('l'))# 2# print(s9_1.index("?")) 找不到报错# ValueError: substring not found# Demo10 isalnum 检查字符串是否全部为数字字符或者字母字符s10_1 = "1234"s10_2 = "abcd123AD4"s10_3 = "1!22"print(s10_1.isalnum())# Trueprint(s10_2.isalnum())# Trueprint(s10_3.isalnum())# False# Demo11 isalpha 是否全部为字母字符s11_1 = "abcdAbcd"s11_2 = "Abcd1234"s11_3 = "@abcdAbcd"print(s11_1.isalpha())# Trueprint(s11_2.isalpha())# Falseprint(s11_3.isalpha())# False# Demo12 isdecimal 是否全部为数字字符s12_1 = "123123"s12_2 = "Abcd1234"s12_3 = "@123123"print(s12_1.isdecimal())# Trueprint(s12_2.isdecimal())# Falseprint(s12_3.isdecimal())# False# Demo13 isdigit 是否全部为数字字符,判断数字的有好几个,这个是对字符匹配最全的基本除了大写的一、二、这种其余都行,推荐就用这个s13_1 = "123123"s13_2 = "Abcd1234"s13_3 = "@123123"print(s13_1.isdigit())# Trueprint(s13_2.isdigit())# Falseprint(s13_3.isdigit())# False# Demo14 isidentifier 判断变量名是否合法print("_a".isidentifier())print("1A".isidentifier())print("AAA".isidentifier())# Demo15 islower 如果全部是小写字符返回True(测试下来,基本上只要不是大写字母都可以)print("aavvdd".islower())# Trueprint("Abbb".islower())# Falseprint("{}@bbb!22我".islower())# True# Demo16 isspace  如果全部是空格,返回Tureprint("   ".isspace())# Trueprint(" a a".isspace())# Trueprint("a a ".isspace())# True# Demo17 istitle 首字母是否大写print("Abvd".istitle())# Trueprint("BdbB".istitle())# Falseprint("abcd".istitle())# Falseprint("1A1b".istitle())# False# Demo18 isupper 是否全部为大写(不考虑符号)如果出现小写,那就返回falseprint("ABCD".isupper())# Tureprint("Abcd".isupper())# Falseprint("A@B!".isupper())# True# Demo19 join 这个蛮有意思的,在一个可迭代的容器内用给予的字符串分割li = ["abcd", "AAA", "@@@", "bcda"]print("我是分割线".join(li))# abcd我是分割线AAA我是分割线@@@我是分割线bcda# Demo20 ljust 左对齐print("aaa".ljust(10, '*'))# aaa*******# Demo21 lower 把字符串全部改成小写print("ABCD".lower())# abcdprint("A@A#".lower())# a@a#print("aabs\Scd".lower())# aabs\scd# Demo22 lstrip 删除左边的空格或者字符print("    aaaa".lstrip())# aaaaprint("****abcd".lstrip('*'))# abcdprint("ABCDssss".lstrip("ABCD"))# ssss# Demo23 maketrans 字符替代,将所有的字符都转换成所给字符intab = "aeiou"outab = "12345"print("my wife is a pig hahaha".translate(str.maketrans(intab, outab)))# my w3f2 3s 1 p3g h1h1h1print("my wife is a pig hahaha".translate(str.maketrans({'a': '1', 'e': '2', 'i': '3', 'o': '4', 'u': '5'})))# my w3f2 3s 1 p3g h1h1h1# Demo24 partition 将字符串分割成三份,参数字符串为中间一份print("ABCD1234abcd".partition("1"))# ('ABCD', '1', '234abcd') 返回值是一个tuple# Demo25 replaceprint("aaaaa".replace('a', '1'))# 11111print("aaaaa".replace('a', '1', 2))# 11aaaprint("aaaaa".replace("aa", "22", 2))# 2222a# Demo26 rfind 右起查找字符串或者字符print("aaaaa".rfind('a'))# 4# Demo27 rindex 右起查找字符串或者字符,如果找不到会报错print("aAaAaAa".rindex('a'))# 6try:    print("aAaAaAa".rindex('b'))except Exception as e:    print(e)# ValueError: substring not found# Demo28 rjust 类似ljustprint("aaaa".rjust(10, '*'))# ******aaaa# Demo29 rpartition partition是从左开始找到指定字符串,然后分三段,rpartition是从右开始找print("aabbccdd112211AABBCCDD".rpartition("11"))# ('aabbccdd1122', '11', 'AABBCCDD')# Demo30 rsplit 第一个参数分隔符,默认为所有的空字符,包括空格、换行(\n)# 第二个参数是分割次数,分割两次可是会变成三份的哦# 他的分割是从右开始数,split是从左开始print("aa bb cc dd".rsplit())# ['aa', 'bb', 'cc', 'dd']print("aa bb cc dd".rsplit(maxsplit=2))# ['aa bb', 'cc', 'dd']# Demo31 rstrip 去除右起字符,默认是空格print("***aaa***".rstrip('*'))# ***aaa# Demo32 split 通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔num次(1次是2个)l1 = "a b c d 1 234".split()print(type(l1), l1)l2 = "a,b,c,d,e,123".split(',', 4)print(type(l2), l2)# <class 'list'> ['a', 'b', 'c', 'd', '1', '234']# <class 'list'> ['a', 'b', 'c', 'd', 'e,123']# Demo33 splitlines 分行,第二个参数为是否保留换行符s33_1 = "abcd1234\n1234abcd\ncccccc\n"print(s33_1.splitlines())print(s33_1.splitlines(keepends=True))# ['abcd1234', '1234abcd', 'cccccc']# ['abcd1234\n', '1234abcd\n', 'cccccc\n']# Demo34 startswith 起始位置字符,返回True、Falseprint("abcd222".startswith('a', 0, 3))# Trueprint("abcd222".startswith('bbb'))# False# Demo35 strip 去除首尾字符,默认为空格print("   aaa   ".strip())# aaaprint("***aaa***".strip('*'))# aaa# Demo36 swapcase 切换大小写print("AAbbCCdd".swapcase())# aaBBccDD# Demo37 title 首字母大写,剩下的全部小写print("aabbCCDD".title())# Aabbccdd# Demo38 translate 这个是和maketrans一起用的  也可以单独使用只不过比较二# 他接受一个字典,并且key,必须是int,那如果要替换'a'就需要用ascii码,我下面就是用的ascii,97# 而且python2 和 python3是有明显区别的,要用就和maketrans一起用print("ababab1212".translate({97: "F"}))# FbFbFb1212# Demo39 upper 全部转换大写print("aabBccdD".upper())# AABBCCDD# Demo40 zfill 返回指定长度的字符串,原字符串右对齐,前面填充0print("aaa".zfill(10))# 0000000aaa

原创粉丝点击