Python 的内置字符串方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字符串处理是非常常用的技能,但Python 内置字符串方法太多,常常遗忘,为了便于快速参考,特地依据Python 3.5.1 给每个内置方法写了示例并进行了归类,便于大家索引。
PS: 可以点击概览内的绿色标题进入相应分类或者通过右侧边栏文章目录快速索引相应方法。
概览
字符串大小写转换
∙str.capitalize()
∙str.lower()
∙str.casefold()
∙str.swapcase()
∙str.title()
∙str.upper()
字符串格式输出
∙str.center(width[, fillchar])
∙str.ljust(width[, fillchar]); str.rjust(width[, fillchar])
∙str.zfill(width)
∙str.expandtabs(tabsize=8)
∙str.format(^args, ^^kwargs)
∙str.format_map(mapping)
字符串搜索定位与替换
∙str.count(sub[, start[, end]])
∙str.find(sub[, start[, end]]); str.rfind(sub[, start[, end]])
∙str.index(sub[, start[, end]]); str.rindex(sub[, start[, end]])
∙str.replace(old, new[, count])
∙str.lstrip([chars]); str.rstrip([chars]); str.strip([chars])
∙static str.maketrans(x[, y[, z]]); str.translate(table)
字符串的联合与分割
∙str.join(iterable)
∙str.partition(sep); str.rpartition(sep)
∙str.split(sep=None, maxsplit=-1); str.rsplit(sep=None, maxsplit=-1) ∙str.splitlines([keepends])
字符串条件判断
∙str.endswith(suffix[, start[, end]]); str.startswith(prefix[, start[, end]]) ∙str.isalnum()
∙str.isalpha()
∙str.isdecimal(); str.isdigit(); str.isnumeric()
∙str.isidentifier()
∙str.islower()
∙str.isprintable()
∙str.isspace()
∙str.istitle()
∙str.isupper()
字符串编码
∙str.encode(encoding=”utf-8″, errors=”strict”)
1 2 3 4 5 6 7 8 9
10
11 'adidog'.capitalize() # 'Adi dog'
'abcd徐'.capitalize() # 'Abcd徐'
'徐abcd'.capitalize() # '徐abcd'
'ß'.capitalize()
# 'SS'
str.lower()
将字符串转换成小写,其仅对ASCII编码的字母有效。
1 2 3 4 5 6 7 8 'DOBI'.lower()
# 'dobi'
'ß'.lower() # 'ß' 为德语小写字母,其有另一种小写'ss',lower 方法无法转换# 'ß'
'徐ABCD'.lower()
# '徐abcd'
1 2 3 4 5 'DOBI'.casefold()
# 'dobi'
'ß'.casefold() #德语中小写字母ß等同于小写字母ss,其大写为SS
# 'ss'
1 2 '徐Dobi a123 ß'.swapcase()
#: '徐dOBI A123 SS' 这里的ß被转成SS 是一种大写
但需要注意的是s.swapcase().swapcase() == s不一定为真:
1 2 3 4 5 6 7 8 9
10
11 u'xb5'
# 'µ'
u'xb5'.swapcase()
# 'Μ'
u'xb5'.swapcase().swapcase()
# 'μ'
hex(ord(u'xb5'.swapcase().swapcase())) Out[154]:'0x3bc'
1 2 3 4 5 6 7 8 9 'Hello world'.title()
# 'Hello World'
'中文abcdef 12gh'.title()
# '中文AbcDef 12Gh'
# 但这个方法并不完美:
"they're bill's friends from the UK".title() # "They'ReBill'S Friends From The Uk"
str.upper()
将字符串所有字母变为大写,会自动忽略不可转成大写的字符。
1 2 '中文abcdef 12gh'.upper()
# '中文ABC DEF 12GH'
1
2 3 4 5 '12345'.center(10,'*')
# '**12345***'
'12345'.center(10)
# ' 12345 '
1 2 3 4 'dobi'.ljust(10)
# 'dobi '
'dobi'.ljust(10,'~')