Python是讲究实用的语言,所以对字符串的操作也非常给力。
程序员写代码,经常要对字符串进行各种处理,比如字符串的拼接、字符串里面关键信息的提取、格式的转换等。
字符串的定义:
字符串可以使用单引号、双引号、单三引号、和双三引号括起来。
字符串定义前后的引号,只是告诉解释器,引号内部的内容是一个字符串对象的内容。而引号本身不是字符串的内容。
三引号的特点支持跨行的字符串。
如果不使用三引号定义字符串,通常只能在字符串中使用\n转义符来表示。
字符串方法:字符串提供了一系列的方法去实现更复杂的文本处理任务。方法就是与特定的对象相关联在一起的函数。字符串方法只适用于字符串对象。
Python首先读取对象方法,然后调用它,传递参数,如果一个方法计算出一个结果,就会作为整个方法调用表达式的结果被返回。
| 字符串方法 | 解释 |
| S.capitalize() | 字符串首字母大写 |
| S.upper() | 字符串字母全大写 |
| S.lower() | 字符串字母全小写 |
| S.title() | 字符串每个分隔的字符串首字母都大写 |
| S.swapcase() | 字符串大小写翻转 |
| S.centor(width, [,fill]) | 字符串居中,两边可设置填充字符 |
| S.expandtabs(tabsize) | 字符串加上前面的位数自动补足8位 |
| S.startswith(suffix, [,start [,end]]) | 字符串以什么开头 |
| S.endswith(suffix,[,start [,end]]) | 字符串以什么结尾 |
| S.find(sub, start, end) | 字符串查找某个字符或子字符串的索引 |
| S.index(sub,start, end) | 字符串查找某个字符或子字符串的索引 |
| S.strip(chars) | 字符串删除字符串两边的字符,默认是空格 |
| S.rstrip(chars) | 字符串删除字符串右边的字符,默认是空格 |
| S.lstrip(chars) | 字符串删除字符串左边的字符,默认是空格 |
| S.count(sub, start, end) | 字符串统计某个字符或字符串的个数 |
| S.split(sep, maxsplit) | 根据sep分隔符分隔字符串,输出列表 |
| S.format(fmtstr, *args, **kwargs) | 格式化字符串 |
| S.replace(old, new, count) | 字符串中替换子字符串 |
| S.isalnum() | 判断字符串是否是字母和数字 |
| S.isalpha() | 判断字符串是不是字母 |
| S.isdigit() | 判断字符串是 |
| S.splitlines() | 把字符串按行进行切割 |
修改字符串,我们看一个例子:
- # 将字符串转换成一个支持原处修改的对象
- S = 'spammy'
- L = list(S)
- print(L)
-
- # 然后我们可以对“打散”的元素进行多次修改
- L[3] = 'x'
- L[4] = 'x'
- print(L)
-
- # 通过设定的分隔符来调用joine,将列表元素连接在一起。
- # 本例中是使用一个空的分隔符将列表转换为字符串。
- S = ''.join(L)
- print(S)
2023年10月13日:
count方法:
print("我们不去上学,我们去踢足球。".count("我们"))
split方法:这是一个比较牛逼的一个方法。
split方法以参数字符串为分隔符,将字符串分割为多个字符串,作为元素存储到一个列表,并返回这个列表。
- str1 = "小张: 79 | 小李: 88 | 小赵: 83"
-
- pos1 = str1.split("|")
-
- # 打印列表
- print(pos1)
-
- # 迭代打印列表中的元素
- for i in pos1:
- print(i.strip())

splitlines方法,把字符串按行进行切割。
- salary = '''
- 小王 10000元
- 小李 20000元
- 小徐 15000元
- '''
-
- print(salary.splitlines())

这样,每行内容作为列表的一个元素。
splitlines方法经常用于文件处理,读出的文件内容存入字符串,然后调用splitlines方法,把每行内容依次存储列表。
文件->字符串->字符串方法splitlines方法->列表->遍历循环处理。
然后再循环遍历该列表,就可以逐个来分析文件内容了。
join方法:
join方法正好与split方法相反。
split是将字符串,以某个字符串为分隔符,切割成多个字符串,存入列表。
join是将列表中的字符串元素,以某个字符为连接符,连接成一个字符串。
- print('|'.join([
- '小张:79 ',
- ' 小李:88 ',
- ' 小赵:83'
- ]))
连接符.join方法。这个记住下。

strip、lstrip和rstrip方法:
strip方法,可以将字符串前面(左边)和后面(右边)的空格删除,默认是空格,可以修改参数来设定其他字符。
lstrip方法,可以将字符串前面(左边)的空格删除。
rstrip方法,可以将字符串后面(右边)的空格删除。
replace方法:
用来替换字符串里面的所有指定的子字符串为另外一个字符串。
- str1 = '我们今天不去上学,我们去踢足球'
- str2 = str1.replace('我们', '他们')
- print(str2)

上面讲得这些方法,都是返回了一个新字符串,不会改变原来的字符串。
我们在上面的重新赋值,让str1重新指定一个新的数据对象。
- str1 = '我们今天不去上学,我们去踢足球'
- str2 = str1.replace('我们', '他们')
- print(str2)
- print(str1)
