Python String 方法详解三:字符串的联合与分割
str.join(iterable) --> String 用指定的字符串,连接元素为字符串的可迭代对象。
str.ljust(width[, fillchar]); str.rjust(width[, fillchar])
返回指定长度的字符串,字符串内容居左(右)如果长度小于字符串长度,则返回原始字符串,默认填充为 ASCII 空格,可指定填充的字符串。
width -- 指定填充指定字符后新字符串的总长度.
fillchar– 要填充的字符,默认为空格。
str.
lower
() -->String ****字符串转换成小写 其仅对 ASCII
编码的字母有效。
str.lstrip([chars]); str.rstrip([chars]); str.strip([chars]) --> string or unicode
去掉(删除)字符串后面 / 前面/ 两边 的空格(默认是空格),或参数中的字符
static str.``maketrans
(x[, y[, z]]) str.translate(table)
maktrans
是一个静态方法,用于生成一个对照表,以供 translate
使用。
如果 maktrans
仅一个参数,则该参数必须是一个字典,字典的 key 要么是一个 Unicode 编码(一个整数),要么是一个长度为 1 的字符串,字典的 value 则可以是任意字符串、None
或者 Unicode 编码。
如果 maktrans
有两个参数,则两个参数形成映射,且两个字符串必须是长度相等;如果有第三个参数,则第三个参数也必须是字符串,该字符串将自动映射到 None
:
这里插一嘴:Python2.x和3.x下maketrans与translate函数使用上的不同
看一个简单的例子来说明字符串转换的过程:
2.X下的演示过程:
3.X下的演示过程:
2.X使用了string的maketrans函数,而3.X使用了str的maketrans函数,除了这一点,使用方法是基本相同的。若指定字符串中要删除的字符时,使用就会略有不同,如下:
2.X下的演示过程:
3.X下的演示过程:
** str.``partition
****(sep****) --> (head, sep, tail) **根据指定的分隔符将字符串进行分割(返回一个****3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串)
注:****str.partition******(sep****) 是从前往后查找 (从左往右)************ **str.rpartition******(sep****) 是从后面开始查找 (从右往左)**********
与 find()
rfind()
类似,不同的是如果找不到,就会引发 ValueError
。
str.index(sub[, start[, end]]); --> String 把字符串中的 old(旧字符串)替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。str.rindex(sub[, start[, end]]) --> String 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。
str.``split
(sep=None, maxsplit=-1) --> list 通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔 num 个子字符串 **
str.``rsplit
(sep=None, maxsplit=-1) 从后往前如果字符串开头/结尾包含空格字符串则以非空格字符串后的第一个空格为分隔符**
str.``splitlines
([keepends]) --> List 字符串以换行符为分隔符拆分,去掉行界符;如果keepends为True,保留行界符,能被识别的行界符参照官方文档
能被识别的行界符:
str.``startswith
(prefix[, start[, end]]) --> Bool (true or false) 用于检查字符串是否是以指定子字符串开头,如果是则返回True,否则返回False。如果参数beg和end指定值,则在指定范围内检查。****
****str.``swapcase
() -- > String **用于对字符串的大小写字母进行反转(小写转大写,大写转小写)******
但需要注意的是 s.swapcase().swapcase() == s
不一定为真:
u'\xb5'# 'µ'u'\xb5'.swapcase()# 'Μ'u'\xb5'.swapcase().swapcase()# 'μ'
hex(ord(u'\xb5'.swapcase().swapcase()))
Out[154]: '0x3bc'
这里 'Μ'
(是 mu 不是 M) 的小写正好与 'μ'
的写法一致。
str.``strip
([chars]) -->String 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。
str.upper() -->String 将字符串所有字母变为大写,会自动忽略不可转成大写的字符。
str.zfill(width) --> String 用 '0' 填充字符串,并返回指定宽度的字符串。
注:正常一般是从字符串的左边开始填充,如指定长度小于字符串长度则返回原字符串
你还可以查看之前的两篇内容
关于Python String方法详解
Python字符串条件判断
Python String字符串详解一