Python中的字符串函数

# capitalize:将字符串的第一个字母变成大写,其他字母变小写。
str="ab"
print(str.capitalize())
str=" aB"#第一位是空格
print(str.capitalize())

 

 

 

# casefold:将字符串中所有字母转换成小写
str="AB"
print(str.casefold())

 

 

 

 

# center:返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。语法:str.center(width[, fillchar])
str="string"
print(str.center(20))
print(str.center(20,"#"))

 

 

 

 

# count:统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。语法:str.count(sub, start= 0,end=len(string))
str="abababababababababab"
print(str.count("a"))
print(str.count("a",4,14))

 

 

 

 

# encode:以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。语法:str.encode(encoding='UTF-8',errors='strict')
str="this is a string"
print(str.encode("UTF-8"))
print(str.encode("GBK","strict"))

 

 

 

 

# endswith:用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。语法:str.endswith(suffix[, start[, end]])
str='this is a string'
print(str.endswith("g"))
print(str.endswith("n"))
print(str.endswith("ng"))
print(str.endswith("ng",2))
print(str.endswith("r",2,12))
print(str.endswith("t",2,12))#start和end为左闭右开
print(str.endswith("t",11,12))
print(str.endswith("st",11,12))

 

 

 

 

# expandtabs:把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。
str="this\tis\ta\tstring"
print(str)
print(str.expandtabs(tabsize=20))

 

 

 

 

# find:检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。语法:str.find(str, beg=0, end=len(string))
str='this is a string'
print(str.find("is"))
print(str.find("is",3))
print(str.find("is",3,6))
print(str.find("b"))

 

 

 

 

# format
str="this {} a {}"
print(str.format("is","string"))
str="{0} {1}"
print(str.format("hello","world"))
str="{1} {0} {1}"
print(str.format("hello","world"))
print("姓名:{name}, 年龄 {age}".format(name="张三", age=18))
# 通过字典设置参数
dict = {"name": "张三", "age": 18}
print("姓名:{name}, 年龄 {age}".format(**dict))
# 通过列表索引设置参数
my_list = ['张三', 18]
print("姓名:{0[0]}, 年龄 {0[1]}".format(my_list))  # "0" 是必须的

 

 

 

 

# format_map
str="my name is {name}, i am {age} years old"
print(str.format_map({"name":"张三","age":13}))

 

 

 

 

# index:检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。语法:str.index(str, beg=0, end=len(string))
str="i love python"
print(str.index("lo"))
print(str.index("o",4))
print(str.index("o",4,11))#范围内没有指定的字符串,会报错

 

 

 

 

# isalnum:检测字符串是否由字母和数字组成。
str="iam20yearsold"
print(str.isalnum())
str="i am 20 years old"
print(str.isalnum())

 

 

 

 

# isalpha:检测字符串是否只由字母组成。
str="helloworld"
print(str.isalpha())
str="18yearsold"
print(str.isalpha())

 

 

 

 

# isdecimal:检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。语法:str.isdecimal()
str="1234"
print(str.isdecimal())
str="thisis1234"
print(str.isdecimal())

 

 

 

 

# isdigit:检测字符串是否只由数字组成。语法:str.isdigit()
str="123"
print(str.isdigit())
str="1 2 3"
print(str.isdigit())
str="hello123"
print(str.isdigit())

 

 

 

 

# isidentifier:用于判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法。语法:str.isidentifier()
print( "if".isidentifier() )
print( "def".isidentifier() )
print( "class".isidentifier() )
print( "_a".isidentifier() )
print( "中国123a".isidentifier() )
print( "123".isidentifier() )
print( "3a".isidentifier() )
print( "".isidentifier() )

 

 

 

 

# islower:检测字符串中的字母是否全是小写。语法:str.islower()
print("this is lower".islower())
print("This is lower".islower())
print("this is 10 lower".islower())

 

 

 

 

# isnumeric:检测字符串是否只由数字组成。这种方法是只针对unicode对象。语法:str.isnumeric()
# 注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可
print(u"123".isnumeric())
print(u"1 23".isnumeric())
print(u"this1234".isnumeric())

 

 

 

 

# isprintable:判断字符串中所有字符是否都是可打印字符(in repr())或字符串为空。语法:str.isprintable()
print('abc\tdef'.isprintable())  # 制表符
print('abc\ndef'.isprintable())  # 换行符
print('abc.123'.isprintable())
print('abc 123'.isprintable())
print('#~_'.isprintable())
print(''.isprintable())

 

 

 

 

# isspace:检测字符串是否只由空格组成。语法:str.isspace()
print("".isspace())
print("     ".isspace())
print("abc   def".isspace())
print("\t".isspace())
print("\n".isspace())

 

 

 

 

# istitle:检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。语法:str.istitle()
print("this is a string".istitle())
print("This is a string".istitle())
print("This Is A String".istitle())

 

 

 

 

# isupper:检测字符串中所有的字母是否都为大写。语法:str.isupper()
print("this is a string".isupper())
print("This is a string".isupper())
print("This Is A String".isupper())
print("THIS IS A STRING".isupper())

 

 

 

 

# join:用于将序列中的元素以指定的字符连接生成一个新的字符串。语法:str.join(sequence)
str = "=-="
seq = ("a", "b", "c")
print(str.join( seq ))

 

 

 

 

# ljust:返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。语法:str.ljust(width[, fillchar])
print("hello".ljust(20))
print("hello".ljust(20,'#'))

 

 

 

 

# lower:转换字符串中所有大写字符为小写。语法:str.lower()
print("ABCDef".lower())

 

 

 

 

# lstrip:用于截掉字符串左边的空格或指定字符。语法:str.lstrip([chars])
print("      string      ".lstrip())
print("####string####".lstrip("#"))

 

 

 

 

# maketrans:创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。注:两个字符串的长度必须相同,为一一对应的关系。语法:str.maketrans(intab, outtab)
print("hello world".translate(str.maketrans(" o","-0")))
print ("this is a string".translate(str.maketrans(" ahi", "-123")))

 

 

 

 

# partition:根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。语法:str.partition(str)
print("www.baidu.com".partition("."))

 

 

 

 

# replace:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。语法:str.replace(old, new[, max])
print("abababababab".replace("a","c",2))

 

 

 

 

# rfind:返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。语法:str.rfind(str, beg=0 end=len(string))
print("this is a string".rfind("t",0,14))
print("this is a string".rfind("t",14,0))

 

 

 

 

# rindex:返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。语法:str.rindex(str, beg=0 end=len(string))
print("this is a string".rindex("t",0,14))
print("this is a string".rindex("t",14,0))

 

 

 

 

# rjust:返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。语法:str.rjust(width[, fillchar])
print("string".rjust(20," "))
print("string".rjust(20,"*"))

 

 

 

 

# rpartition:类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。语法:str.rpartition(str)
print("www.baidu.com".rpartition("."))

 

 

 

 

# rsplit:通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格、换行(\n)、制表符(\t)等。类似于 split() 方法,只不过是从字符串最后面开始分割。语法:str.rsplit([sep=None][,count=str.count(sep)])
print("this is a string".rsplit(" ",2))
print("this is a string".rsplit("s",1))

 

 

 

 

# rstrip:删除 string 字符串末尾的指定字符(默认为空格)。语法:删除 string 字符串末尾的指定字符(默认为空格)。语法:str.rstrip([chars])
print("this is a string    ".rstrip())
print("this is a string".rstrip("g"))

 

 

 

 

# split:通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。语法:str.split(str="", num=string.count(str)).
print("this is a string".split())
print("this is a string".split("s"))
print("this is a string".split("s",2))

 

 

 

 

# splitlines:按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。语法:str.splitlines([keepends])
print("this\nis\ra\r\nstring")
print("this\nis\ra\r\nstring".splitlines())
print("this\nis\ra\r\nstring".splitlines(True))

 

 

 

 

# startswith:用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。语法:str.startswith(str, beg=0,end=len(string));
print("this is a string".startswith("th"))
print("this is a string".startswith("h"))
print("this is a string".startswith("h",1))
print("this is a string".startswith("h",2,10))

 

 

 

 

# strip:用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。语法:str.strip([chars]);
print("this is a string!".strip("!"))
print("this is a string!".strip("th"))

 

 

 

 

# swapcase:用于对字符串的大小写字母进行转换。语法:str.swapcase();
print("This Is a StrinG".swapcase())

 

 

 

 

# title:返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())。语法:str.title();
print("this is a string".title())

 

 

 

 

# translate:根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。语法:str.translate(table[, deletechars]);
print("hello world".translate(str.maketrans(" o","-0")))
print ("this is a string".translate(str.maketrans(" ahi", "-123")))

 

 

 

 

# upper:将字符串中的小写字母转为大写字母。语法:str.upper()
print("This is a string".upper())

 

 

 

 

# zfill:返回指定长度的字符串,原字符串右对齐,前面填充0。语法:str.zfill(width)
print("string".zfill(20))

 

 

 

 

# isascii:如果字符串为空或字符串中的所有字符都是ASCII,则返回true,否则返回false。ASCII字符的代码点范围为U + 0000-U + 007F。

 

你可能感兴趣的:(Python中的字符串函数)