Python3之字符串
1 # Author:Allister.Liu 2 3 """ 4 字符串操作 5 """ 6 name = "my name is allister" 7 print("1:", name.capitalize()) # 首字母大写 8 print("2:", name.count("a")) # 统计出现的次数 9 10 print("3:", name.center(50, "-")) # 输出50个字符,不足用- 两侧填充 11 print(name.ljust(50, "*")) # 长度50个字符,不够用*代替,name输出在左边 left 12 print(name.rjust(50, "*")) # 长度50个字符,不够用*代替,name输出在右边 right 13 14 print("4:", name.endswith("er")) # 判断字符串以什么结尾 15 print("5:", name.find("is")) # is的索引位置 16 print("6:", name[0:5]) # 字符串的切片/截取 17 18 n1 = "My name is {_name}, age {_age}" 19 print("7:", n1.format(_name = "Allister", _age = 23)) # 格式化拼接 20 print("8:", n1.format_map({"_name":"Kity", "_age":25})) 21 22 print("9:", "Drdf12".isalnum(), "Drdf1#2".isalnum(), "121".isalnum(), "SfdDS".isalnum()) # 判断字符串是否是a-z or 0-9 组成 23 print("10:", "daQsdsa".isalpha(), "dasQdsa2".isalpha()) # 是否纯英文字符 24 print("11:", "312".isdigit(), "-312".isdigit(), "312.32".isdigit()) # 是否为正整数 25 26 print("12:", "name12_".isidentifier(), "3name12_".isidentifier()) # 判断是不是合法字符(合法变量名) 27 print("13:", "21".isnumeric(), "21.3".isnumeric(), "-21".isnumeric(), "21A".isnumeric()) # 判断是否全为数字 28 print("14:", " ".isspace(), "".isspace(), "c".isspace()) # 判断是否是空格 29 30 print("15:", "My Name Is Allister".istitle(), "My name is Allister".istitle(), "My Is 旺".istitle()) # 判断字符串每个词首字母是否大写,忽略中文 31 print("16", "dsa".isprintable()) # tyy文件或驱动文件时为False 一般用户Linux系统 32 print("17:", "dasdsa".islower(), "daSdsa".islower(), "DDDS".isupper(), "HDdDdd".isupper()) # 是否全为小写/大写 33 34 35 """ 36 连接字符串数组 37 语法: 'sep1'.join(seq2) 38 参数说明: sep1:分隔符。可以为空 seq2:要连接的元素序列、字符串、元组、字典 39 40 os.path.join(): 将多个路径组合后返回 41 42 """ 43 print(",".join(["1","2","3"]), "+".join(["1","2","3"])) 44 45 46 print("18:", "dfsaDDDsa".upper(), "DDDDdasdaSSS".lower()) # 大写变小写,小写变大写 47 48 49 """ 50 strip:去掉两边空格 51 lstrip:去掉左侧空格 52 rstrip:去掉右侧空格 53 """ 54 print(" sewqeewqd ".strip(), " ddasdas".lstrip(), "dfsfsdfs ".rstrip()) 55 56 """ 57 对应位置替换:a->q b->2 c->3 ... 58 """ 59 p = str.maketrans("abcdefg", "1234567") 60 print("arrays".translate(p)) 61 62 63 print("dsSSSsss".replace("S","G"), "dsSSSsss".replace("S","G", 2)) # 替换,可以指定替换个数 64 65 print("allisteraddffg".rfind("f")) # f最右边下标 66 67 print("Allister Is A b".split(" "),"--------", "1+2+3+4+5".split("+")) # 分割,分隔符不填默认为空格 68 69 print("1+2\n+3+4+5".splitlines()) # 结果:['1+2', '+3+4+5'] 70 71 print("Allister Hello".swapcase()) # 大小写互转 72 73 print("allister is fsfs".title()) # 变为title,首字母大写 74 75 print("rweDar".zfill(50)) # 方法返回指定长度的字符串,原字符串右对齐,前面填充0。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1: My name is allister 2: 2 3: ---------------my name is allister---------------- my name is allister******************************* *******************************my name is allister 4: True 5: 8 6: my na 7: My name is Allister, age 23 8: My name is Kity, age 25 9: True False True True 10: True False 11: True False False 12: True False 13: True False False False 14: True False False 15: True False True 16 True 17: True False True False 1,2,3 1+2+3 18: DFSADDDSA dddddasdasss sewqeewqd ddasdas dfsfsdfs 1rr1ys dsGGGsss dsGGSsss 12 ['Allister', 'Is', 'A', 'b'] -------- ['1', '2', '3', '4', '5'] ['1+2', '+3+4+5'] aLLISTER hELLO Allister Is Fsfs 00000000000000000000000000000000000000000000rweDar