一、字符串处理
- 索引和切片
In [1]: mystr = 'string test'
In [2]: mystr[:6]
Out[2]: 'string'
In [3]: mystr[-3:]
Out[3]: 'est'
In [4]: mystr[-4:]
Out[4]: 'test'
- 字符串拼接
In [1]: str1 = '姓名:'
In [2]: str2 = 'Shairly'
In [3]: name = str1 + str2
In [4]: print(name)
姓名:Shairly
In [5]: name
Out[5]: '姓名:Shairly'
可以运用join来进行拼接
In [8]: print(' '.join(['Hello','Python','world','!']))
Hello Python world !
In [9]: print('-'.join(['Tel','86','12345678900']))
Tel-86-12345678900
- 字符串乘法
In [10]: print('*'*30)
...: print('Hello Python World!')
...: print('*'*30)
...:
******************************
Hello Python World!
******************************
二、字符串中的正则表达式
符号 | 含义 |
---|---|
. | 点可代表一切字符 |
\ | 起转义作用 |
[…] | 指代方括号中的任意字符 |
\d | 指代数字0-9 |
\D | 指代非数字 |
\s | 指代一切空格,包括tab制表符、空格、换行等 |
\S | 指代非空格 |
\w | 指代大小写字母、数字和下划线 |
\W | 指代非大小写字母、数字和下划线 |
* | 匹配前面字符 >=0 次 |
+ | 匹配前面字符1次及以上 |
? | 匹配前面字符0次或1次 |
{m} | 匹配m次 |
{m,n} | 匹配m到n次 |
{m,} | 至少匹配m次 |
三、字符串中的匹配
利用re模块来进行字符串匹配。
- 查找
re.findall(pattern, string, flags=0)
pattern:正则表达式
string:需要处理匹配的字符串
flags:说明匹配模式,如re.I大小写都匹配
re.compile()
- 分割字符串
re.split(pattern,string,maxsplit=0,flags=0)
pattern:正则表达式
string:需要处理的字符串
maxsplit:最大匹配次数。0表示匹配所有次
- 字符串替换
re.sub(pattern,repl,string,count=0,flags=0)
pattern:正则表达式
repl:新替换的内容
string:需要处理的字符串
count:替换次数。0表示匹配替换所有次
flags:匹配模式