字符串是 Python中的一种基本数据类型。 它是一个字符序列,并且字符只有在组成这个序列时才有意义。 很多商业应用中都有字符串类型的数据,比如供应商和客户的名字及地址、评价和反馈数据、事件日志和文档记录。一些对象看上去是整数,但实际上是字符串,比如邮政编码。邮政编码01234和整数1234是不一样的,文本是不能做加减乘除的。字符串可以包含在单引号、双引号、3个单引号或3个双引号之间。
**
Python自带的标准库模块string中包含很多个处理字符串的函数,这里介绍几个最常用的函数。
1. split:字符拆分函数
该函数将一个字符串根据某种分隔符拆分为一个列表。
如
string1 = 'this is a string'
string1_list = string1.split() # 默认使用空格进行拆分
print(string1_list)
string2 = 'this|is|a|string'
string2_list = string2.split('|') # 指定根据|作为分隔符拆分
print(string2_list)
以上代码输出的结果string1_list和string2_list是一样的,都是
['this','is','a','string']
**
2. join:合并一个列表为字符串
该函数功能与split正好相反,它是根据某个分隔符将列表拼接成一个字符串
如
print(','.join(string2_list))
join 函数将列表中的元素组合成一个字符串,各个元素之间用逗号连接起来。所以新生成的字符串为:
this,is,a,string
3. strip:去除字符串两端不想要字符
strip函数默认删除字符串两端的空格、换行符(\n)和制表符(\t)。lstrip和rstrip函数相应地删除字符串左侧和右侧的空格、换行符(\n)和制表符(\t)。
- strip:删除字符串两端的空格、换行符(\n)和制表符(\t)
- lstrip:删除字符串左侧的空格、换行符(\n)和制表符(\t)
- rstrip:删除字符串右侧的空格、换行符(\n)和制表符(\t)
默认是删除空格、换行符(\n)和制表符(\t),当然也可以指定要删除的字符,如:
s1 = '$this is a string starts with dollar'
print(s1.strip('$')
输出结果为:
this is a string starts with dollar
4. replace:将字符串中的一个或一组字符替换为另一个或另一组字符
这个函数有两个参数,第一个参数是要在字符串中替换的字符或一组字符,第二个参数是要用来替换掉第一个参数的字符或一组字符。即s1.replace(要替换的内容,替换为xxx)
如:
print(s1.replace('$','dollar ') # 注意是替换为dollar空格
输出的结果为:
dollar this is a string starts with dollar
可以看出将其中的「$」替换为「dollar 」。
5. lower、upper、capitalize
- lower:将英文字母转换为小写
- upper:将英文字母转换为大写
- capitalize:将字符串转换为首字母大写,其余部分小写。注意这里是对整个字符串,而不是每一个单词。
如:
s1 = 'thiS IS a sTring'
print(s1.lower())
print(s1.upper())
print(s1.capitalize())
输出结果为:
this is a string
THIS IS A STRING
This is a string
如果我们想要输出每一个单词的首字母大写,就要使用一个循环来每次传入一个单词了
words = []
for word in s1.split():
words.append(word.capitalize())
print(' '.join(words))
输出结果为:
This Is A String