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()把字符串的第一个字符大写。

1
string.capitalize()

6 判断字符串内容的几个函数。

1、如果 string 至少有一个字符并且所有字符都是字母或数字则返,回 True,否则返回 False

1
string.isalnum()

2、如果 string 至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False

1
string.isalpha()

3、string 是否只包含数字

1
string.isdigit()

4、string 是否只包含十进制数字

1
string.isdecimal()

5、 string 中是否只有小写(大写)字母

1
2
3
4
# 小写
string.islower()
# 大写
string.isupper()

6、string中是否只包含数字字符

1
string.isnumeric()

7、string中是否只包含空格

1
string.isspace()

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、删去开头和结尾指定字符(默认为空格)

1
string.strip(x)

2、删除 string 末尾

1
string.rstrip(x)

3、删除string开头

1
string.lstrip(x)

13 对齐函数

1、返回一个原字符串(string)右对齐,并使用空格填充至长度 width 的新字符串

1
string.rjust(width)

2、返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

1
string.ljust(width)

3、返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

1
string.zfill(width)

4、返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

1
string.center(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 = '学习')