# 字符串内嵌函数 # 1、eval(str): 将str当成有效的表达式来计算,将计算的结果返回 print(eval("123")) # 123 print(eval("+123")) # 123 print(eval("-123")) # -123 print(eval("1 + 2")) # 1 + 2 --> 3 print(eval("12 - 3")) # 12 - 3 --> 9 # print(eval("abc124")) # 失败 num = eval("123") print(type(num)) # int # 2、len(str) 返回字符串的长度 字符串中字符的个数 必须记住 str1 = "123456789" # 9 len1 = len(str1) print(len1) # 3、字母大小写转换 不影响原始字符串 str2 = "heLLo hi Nihao SawaDiKa" print(str2) # lower() 将字符串中的字母全部小写 print(str2.lower()) # upper() 将字符串中的字母全部大写 print(str2.upper()) # swapcase() 将字符串中的大写字母转为小写,小写字母转为大写 print(str2.swapcase()) # capitalize() 字符串中的第一个字母大写,其他小写 print(str2.capitalize()) # title() 将字符串中的每隔单词的首字母大写,其他字母小写 print(str2.title()) # 4、返回一个指定长度的字符串 不影响原始字符串 str3 = "pyc" # str.center(width [,fillchar]) 返回一个指定长度width的字符串,str这个 # 字符串在中间,其他位置用fillchar补全,默认是空格 print(str3.center(15, "*")) # str.ljust(width [,fillchar]) 返回一个指定长度width的字符串,str这个 # 字符串在左边,其他位置用fillchar补全,默认是空格 print(str3.ljust(15, "*")) # str.rjust(width [,fillchar]) 返回一个指定长度width的字符串,str这个 # 字符串在右边,其他位置用fillchar补全,默认是空格 print(str3.rjust(15, "*")) # str.zfill(width) 返回一个指定长度width的字符串,str这个 # 字符串在右边,其他位置用0补全 print(str3.zfill(15)) # 5、string.count(str [,begin, end]) :返回string里面str出现的次数, # 如果begin与end有值,查找该范围内的次数 str4 = "good very well good good very" print(str4.count("good")) print(str4.count("good", 3, 22)) # 6、检测字符串中有没有另一个字符串 # string.find(str [,begin, end]) 检测string中有没有str,如果存在返回 # 第一次出现的下标,如果begin与end有值,查找该范围 # 当找不到时,返回-1 # 从左向右查找 print(str4.find("very")) print(str4.find("very", 10, 31)) print(str4.find("qwert")) # # string.rfind(str [,begin, end]) 检测string中有没有str,如果存在返回 # 第一次出现的下标,如果begin与end有值,查找该范围 # 当找不到时,返回-1 # 从右向左查找 print(str4.rfind("very")) # string.index(str [,begin, end]) 检测string中有没有str,如果存在返回 # 第一次出现的下标,如果begin与end有值,查找该范围 # 当找不到时,返回Error,程序报错 # 从左向右查找 print(str4.index("very")) # print(str4.index("qwer")) # string.rindex(str [,begin, end]) 检测string中有没有str,如果存在返回 # 第一次出现的下标,如果begin与end有值,查找该范围 # 当找不到时,返回Error,程序报错 # 从右向左查找 print(str4.rindex("very")) # 7、截掉字符串指定位置的元素 没有影响原始字符串 str5 = " MM is Lily " str6 = "#######GG is Tomy########" # string.lstrip([str]) 截掉字符串string左边位置的指定的字符串str元素, # 默认str为空格 print(str5.lstrip()) print(str6.lstrip("#")) # string.rstrip([str]) 截掉字符串string右边位置的指定的字符串str元素, # 默认str为空格 print(str5.rstrip()) print(str6.rstrip("#")) # string.strip([str]) 截掉字符串string左边及右边位置的指定的字符串 # str元素,默认str为空格 print(str5.strip()) print(str6.strip("#")) print(str5) print(str6) # str6.strip("#") 有返回值 返回更改过后的字符串 # str7 = str6.strip("#") # print(str7) # print(str6.strip("#")) # len(str7) # len(str6.strip("#")) # 8、将字符转为asc,将asc转为字符 str7 = 'A' print(str7) # A # ord(str) 将字符转为asc print(ord(str7)) # 65 # chr(int) 将asc转为字符 str8 = chr(66) print(str8) # B str9 = "我" print(ord(str9)) print(chr(25105)) # 9、切割字符串 str10 = "MM*GG*TT*HH*QQ" # string.split(str [,num]) 以str切割string这个字符串,返回一个列表列表 # 类型的数据,列表中的元素为切割后的字符串 # 如果num有值,那么以str切割num次 print(str10.split("*")) # ['MM', 'GG', 'TT', 'HH', 'QQ'] list 列表 print(str10.split("*", 2)) #string.splitlines([boolean]) 按照行切割(\n \r \n\r),返回一个以行为 # 单位的元素列表 # boolean如果为False,不保留换行符;如果为True,保留换行符;默认为False str11 = "abc\ndef\n123\n789" # 多行文本 str12 = '''qwe rty uio asd ''' print(str11) # 4行 print(str11.splitlines()) print(str11.splitlines(False)) print(str11.splitlines(True)) print(str12) print(str12.splitlines()) # 10、链接字符串 # string.join(sep) 以指定的string作为连接符,将sep里面的元素拼接到一起 str13 = "*" list13 = ["hello", "good", "man"] print(str13.join(list13)) # 11、返回字符中最大的字母或最小的字母 str14 = "aAsdfghjkloiuyt" # max() 返回字符中最大的字母 print(max(str14)) # min() 返回字符中最小的字母 print(min(str14)) # 12、替换字符串 # string.replace(old, new [, num])将string中的old旧字符串替换成new新 # 字符串,如果num有值,最多替换num次 记住 str15 = "nicegood well good man nice nice good nice man" print(str15.replace("nice", "handsome")) print(str15.replace("nice", "handsome", 2)) print(str15) # str.maketrans() 创建一个字符映射表 了解 # 如果里面写两个参数,第一个参数为字符串,表示即将转换的字符; # 第二个参数也要为字符串,表示字符转换的目标字符; # 两个字符串的字符个数一定要一致 t = str.maketrans("abc", "123") # 如果只有一个参数,参数类型为字典类型,key为即将转换的字符; # value为字符转换的目标字符 t1 = str.maketrans({"a" : "1", "b" : "5"}) str16 = "qweawwbuucttabjjcd" # string.translate(t) 根据t给出的映射表,替换string中的字符 print(str16.translate(t)) print(str16.translate(t1)) # 13、用于判断的函数 # str17 = "" # print(str17.isalpha()) # 13.1、isalpha() 字符串中至少有一个字符,并且所有字符都是字母, # 返回True,否则返回False 记住 # print("".isalpha()) # F # print("abc".isalpha()) # T # print("abc123".isalpha()) # F # 13.2、isupper() 字符串中至少有一个是区分大小写的字符,并且所有字符都是大写, # 返回True,否则返回False print("abc".isupper()) # F print("ABC".isupper()) # T print("A123".isupper()) # T print("abcQWE".isupper()) # F # 13.3、islower() 字符串中至少有一个是区分大小写的字符,并且所有字符都是小写, # 返回True,否则返回False print("abc".islower()) # T print("Abc".islower()) # F # 13.4、istitle() 字符串中至少有一个是区分大小写的字符, # 并且所有字符都是标题化,返回True,否则返回False print("qer".istitle()) # F print("Abc sdf".istitle()) # F print("Abs Sdf".istitle()) # T # 13.5、isalnum() 字符串中至少有一个字符,并且所有字符都是字母或数字, # 返回True,否则返回False 记住 print("123abc".isalnum()) # T print("123".isalnum()) # T print("abc".isalnum()) # T print("abc!@$$".isalnum()) # F # 13.6、isdigit() 字符串中至少有一个字符,并且所有字符都是数字, # 返回True,否则返回False 记住 print("abc".isdigit()) # F print("123".isdigit()) # T print("123abc".isdigit()) # F # 13.7、isspace() 字符串中至少有一个字符,并且所有字符都是空格, # 返回True,否则返回False print(" ".isspace()) # T print(" abc".isspace()) # F # 13.8、string.startswith(str [, begin, end]) 判断string是否以str开头,是返回True, # 否则返回False , begin, end指定范围查找 记住 str20 = "http://www.baidu.com" print(str20.startswith("ht")) # T print(str20.startswith("http://")) # T print(str20.startswith("ttp")) # F print(str20.startswith("ttp",1, 12)) # T # 13.9、string.endswith(str [, begin, end]) 判断string是否以str开头,是返回True, # 否则返回False , begin, end指定范围查找 记住 print(str20.endswith("com")) # T print(str20.endswith(".com")) # T print(str20.endswith("cn")) # F print(str20.endswith("ttp",1, 12)) # F # 14、编码解码 str21 = "pyc是好人" print(str21) # string.encode(encoding) 以encoding指定的格式进行编码 print(str21.encode("utf-8")) print(str21.encode("GBK")) # string.decode(encoding) 以encoding指定的格式进行编码 str22 = str21.encode("utf-8") print(str22.decode("utf-8"))
字符串高级用法
猜你喜欢
转载自blog.csdn.net/qiushuidongshi/article/details/81507194
今日推荐
周排行