Python 关于字符串处理技巧
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 关于字符串处理技巧的主要内容,如果未能解决你的问题,请参考以下文章