Python学习笔记:字符串
本文是博主在学习Python时对字符串操作的一些整理笔记,现在分享给有需要的读者,一起探讨学习。
拼接和合并
- 直接相加法:利用加号
+进行多个字符串的合并。
如下:
1 | s1 = 'hello,' |
- 利用
join()方法连接多个字符串。
如下:str.join(),其中str表示用来连接多个字符串列表的字符。
1 | str = ['linjiafengyang', 'github', 'io'] |
- 相乘法拷贝多个字符串:利用乘法符号
*连接多个相同的字符串。
如下:打印5个love字样的字符串
1 | s1 = 'love' |
切片和分割
- 切片:要使用Python字符串的某一段子串,操作很简单,利用切片可解决。
如下:
1 | str = 'I love python.' |
- 分割:
简单地分割字符串可以利用split()方法,如下:利用原始字符串中出现的符号-作为split()方法的参数,分割原始字符串,结果返回一个列表list
1 | number = '1-800-273-8255' |
如果遇到比较复杂的分割,可以使用正则表达式来表示,鉴于详解正则表达式所需篇幅较大,这里简单提一下,以后会有专题讲正则表达式的。
如下:r表示不转义,分隔符可以是;或者,或者空格后面跟多个额外的空格,然后按照这个模式去分割
1 | >>>import re |
查找和匹配
- 查找字符串开头和结尾:可以利用
startswith()和endswith()方法。
如下:
1 | filename = 'learnPython.py' |
- 查找子字符串:可以利用
find()方法查找,结果返回子字符串的起始位置下标,若找不到则返回-1。
如下:
1 | str = 'Youtube, Facebook, Twitter, Instagram' |
- 当然,比较复杂的可以使用正则表达式的
match()方法,这里依然简单提一下。
1 | date = '2018/02/28' |
替换
- 简单地替换可以利用
replace()方法解决。
如下:
1 | str = 'I love C++' |
- 当然也可以使用正则表达式中的
sub()方法进行复杂地替换操作。
1 | grade = 'C++ 90, Python 94' |
删除
- 去掉字符串首尾的空格、制表符、换行符,可利用
strip()方法,如下:
1 | line = ' Please don\'t go! \n' |
注意:字符串内部的空格无法使用该函数,必须使用re模块。
- 复杂的文本清理,可以利用
str.maketrans()和str.translate(),先构建一个转换表table,表示把't','o'转成大写的'T','O',转换old_str,如下:1
2
3
4
5
6
7
8
9import string
old = 'to'
new = 'TO'
table = str.maketrans(old, new)
old_str = 'Hello world, welcome to my blog.'
new_str = old_str.translate(table)
print(new_str)
HellO wOrld, welcOme TO my blOg.
>>>