字符串整体就是一个值,只不过特殊之处在于:
python中没有字符类型,字符串是由一串字符组成,想取出字符串中的字符,也可以按照下标的方式取得。
常用函数:
1. capitalize()
将字符串的首字母转化为大写,其他字母全部转化为小写。
如: ‘hello, World’.capitalize()会输出’Hello, world’
2. casefold()
将字符串转化适合比较的大小写无关的版本。
Casefolding is similar to lowercasing but more aggressive because it is intended to remove all case distinctions in a string. For example, the German lowercase letter 'ß' is equivalent to "ss". Since it is already lowercase, lower() would do nothing to 'ß'; casefold() converts it to "ss"。
lower(): 返回小写字符串(只对ASC码起作用)
upper():返回大写字符串
3. center(width[, fillchar])
如果width小于字符串的原长度,则原样返回。否则,
将字符串以width的长度居中,以fillchar填充,默认fillchar为空格
4. count(sub[, start[, end]])
找到start到end中的sub出现的次数
5. encode(encoding="utf-8", errors="strict")
将字符串编码,默认为utf-8方法。errors参数会给出不同的错误处理模式。默认为’strict’,其他的可能值还有
‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’, 还可以是通过codecs.register_error()方法注册的错误处理模式。
strict: 抛出一个UnicodeError或其子类
ignore: 忽略错误形式的数据而不抛出异常
replace: 编码时用’?’作为替代字符,解码时用’�’作为替代字符
xmlcharrefreplace: 用xml字符引用替代
backslashreplace: 用反斜线转义序列替代
6. endswith(suffix[, start[, end]])
如果字符串以suffix结尾,则返回True,否则为False,start/end为其范围。suffix可以是一个元祖。
7. expandtabs(tabsize=8)
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
8. find(sub[, start[, end]])
从start/end中找出sub最早出现的索引,如果没找到,就返回-1 。
rfind(sub[, start[, end]])方法从右向左查找。
9. format(*args, **kwargs)
字符串格式化。可用数字索引格式,或是关键字参数。例如:
res='{} {} {}'.format('egon',18,'male') res='{1} {0} {1}'.format('egon',18,'male') res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
10. index(sub[, start[, end]])
和find方法类似,只是如果没有找到,则跑出ValueError异常
rfind(sub[, start[, end]])从右往左查找。
11. isalnum()
判断字符串是否由字母和数字组成。返回True/False
12. isalpha()
判断字符串是否只由字母组成。返回True/False
13. isdecimal() 判断是否为数字
isdigit() 判断是否为数字
isnumeric() 判断是否为数字
14. maketrans()
用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
注:两个字符串的长度必须相同,为一一对应的关系。
str.maketrans(intab, outtab)
-
- intab -- 字符串中要替代的字符组成的字符串。
- outtab -- 相应的映射字符的字符串。
- 返回字符串转换后生成的新字符串。
str = 'abcabc'
aa = str.maketrans('abc','123')
print(str.translate(aa)) ===> '123123'
15. isidentifier()
判断是否为Python中的标识符(可否当做变量名)
16. islower()/isupper()
判断是否为小写/大写
17. max()/min()
返回字符串中最大/小的字母。
18. isprintable()
判断是否为可打印字符串
19. isspace()
判断是否为空格
20. istitle()
判断是否首字母大写,其他字母小写
21. join(iterable)
将字符串加入到可迭代对象里面去,iterable必须是每一个元素是字符串,否则会跑出TypeError异常
a = ‘xxx’
a.join([‘aaa’, ‘bbb’, ‘ccc’])
22. ljust(width[, fillchar])
向左调整字符串,与center类似。
rjust(width[, fillchar])
向右调整字符串,与center类似。
23. strip([chars])
去除字符串中以chars中的前缀和后缀,chars默认为空格
a = ‘www.example.com’
a.strip(‘cmowz.’) ===> 'example'
lstrip([chars]): 去掉左边
rstrip([chars]): 去掉后边
24. split(sep=None, maxsplit=-1)
分割字符串,指定sep为分隔符,maxsplit为最大分隔符。0表示不分割,1表示分割成2段。。。
splitlines([keepends]):
按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
25. replace(old, new[, count])
替换count个old为新的new,count默认为全部
26. partition(sep)
返回分隔符前的部分,分隔符,分隔符后的部分。如果没找到分隔符,则返回字符串本身以及两个空字符串。
rpartition(sep): 从右往左搜索
27. title()
返回首字母大写,其他所有字母小写的字符串
28. zfill(width)
用0填补总长度为width的字符串的左边,如果width小于字符串的长度,则原样返回。
29. swapcase()
转换字符串中的每一个字母的大小写。