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