首页 > 代码库 > Python 关于字符串处理技巧

Python 关于字符串处理技巧

 

1.使用多个字符或字符串作为分隔符分割字符串

str.split()方法只能制定单个字符或字符串作为分割符, re.split()方法可以用正则表达式作为分割符, re.split()跟str.split()返回值类型是一样的;

1 >>> line = asdf fjdk; afed, fjek,asdf, foo
2 >>> import re
3 >>> re.split(r[;,\s]\s*, line)
4 #out: [‘asdf‘, ‘fjdk‘, ‘afed‘, ‘fjek‘, ‘asdf‘, ‘foo‘]

 

2.检查开头或结尾是否为指定字符串

检查字符串开头可以用 str.startswith(), 结尾可以用str.endswith();

1 >>> filename = spam.txt
2 >>> filename.endswith(.txt)
3 #out: True
4 >>> filename.startswith(file:)
5 #out: False
6 >>> url = http://www.python.org
7 >>> url.startswith(http:)
8 #out: True

想要匹配多种可能, 可以将多种匹配项用元组包装, 然后再传入函数;

1 >>> import os
2 >>> filenames = os.listdir(.)
3 >>> filenames
4 #out: [ ‘Makefile‘, ‘foo.c‘, ‘bar.py‘, ‘spam.c‘, ‘spam.h‘ ]
5 >>> [name for name in filenames if name.endswith((.c, .h))]
6 #out: [‘foo.c‘, ‘spam.c‘, ‘spam.h‘

另外可以用切片来实现, 只不过是看起来没那么优雅;

1 >>> filename = spam.txt
2 >>> filename[-4:] == .txt
3 #out: True

匹配多个可疑用 or;

 

3.字符串替换

简单的字符串替换可以用:str.repalce(), 复杂一点用 re 模块中的 sub() 函数 ;

 

Python 关于字符串处理技巧