Python:字符串常见操作
字符串是字符的序列,我们能在几乎每一个Python程序中找到它的踪影,我们往往需要对字符串进行各种操作以达到目的。那么本期,我将介绍一些常见的字符串操作,能够满足大部分字符串操作情况
1 join串联多个字符串。
利用join函数,我们可以将列表中的字符串元素串联起来,如:
1 2
| chars = ['P','y', 't', 'h', 'o', 'n'] name = ''.join(chars) # name=="Python"
|
2 字符串分割函数。
split()方法:
1
| str.split(str="",num=string.count(str))
|
str:表示为分隔符,默认为空格,但是不能为空(’’)
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量。默认为 -1, 即分隔所有。
比如,将”happy,sad,cool“以”,“做一次分割:
1
| a='happy,sad,cool'.split(',',1) # a==['happy','sad,cool']
|
3 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次。
1
| string.replace(str1,str2,num=string.count(str1))
|
4 检查字符串是否是以 “x”开头或结尾,是则返回 True,否则返回 False。
1 2 3 4 5
| # 检查字符串是否以"x"开始,如果是,返回 True,否则返回 False. string.startswith(x, beg=0,end=len(string))
# 检查字符串是否以 obj 结束,如果是,返回 True,否则返回 False string.startswith(x, beg=0,end=len(string))
|
5 capitalize()把字符串的第一个字符大写。
6 判断字符串内容的几个函数。
1、如果 string 至少有一个字符并且所有字符都是字母或数字则返,回 True,否则返回 False
2、如果 string 至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
3、string 是否只包含数字
4、string 是否只包含十进制数字
5、 string 中是否只有小写(大写)字母
1 2 3 4
| # 小写 string.islower() # 大写 string.isupper()
|
6、string中是否只包含数字字符
7、string中是否只包含空格
7 字符串索引查询函数
1 2 3 4 5 6 7 8 9
| # 检测 str 是否包含在 string 中, 如果 beg 和 end 指定范围,则检查是否包含在指定范围内 string.find(str, beg=0, end=len(string)) # 类似于 find() 函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。 string.rfind(str, beg=0,end=len(string) ) # 跟find()方法一样,只不过如果str不在 string中会报一个异常。 string.index(str, beg=0, end=len(string)) # 类似于 index(),不过是返回最后一个匹配到的子字符串的索引号 string.rindex( str, beg=0,end=len(string))
|
8 统计字符串中内容出现次数
1 2 3
| string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出现的次数, 如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
|
9 返回最小值或最大值
1 2 3 4
| # 返回字符串 str 中最大的字母 max(str) # 返回字符串 str 中最小的字母 min(str)
|
10 字符串中字母大小写转换
1 2 3 4 5 6
| # 把所有字母转换为小写 string.lower() # 把所有字母转换为大写 string.upper() # 翻转string中的大小写 string.swapcase()
|
11 字符串删去开头结尾
1、删去开头和结尾指定字符(默认为空格)
2、删除 string 末尾
3、删除string开头
13 对齐函数
1、返回一个原字符串(string)右对齐,并使用空格填充至长度 width 的新字符串
2、返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
3、返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0
4、返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
14 格式化字符串
三种格式化输出format
1 2 3 4 5 6
| s12_1 = '我叫{},今年{}岁,爱好{},再说一下我叫{}'.format('小明',18,'学习','小明')
s12_2 = '我叫{0},今年{1}岁,爱好{2},再说一下我叫{0}'.format('小明',18,'学习')
s12_3 = s1 = '我叫{name},今年{age}岁,爱好{hobby},再说一下我叫{name}'.format(name = '小明',age = 18,hobby = '学习')
|