Python字符串处理实例详解字符串处理实例详解
Python字符串处理实例详解字符串处理实例详解
一、拆分含有多种分隔符的字符串一、拆分含有多种分隔符的字符串
1.如何拆分含有多种分隔符的字符串
问题: 我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如:
s = "ab;cd|efg|hi,jkl|mn opq;rst,uvw xyz"
其中;,|, 都是分隔符号,如何处理?
方法一: 连续使用str.split()方法,每次处理一种分隔符号
s = "ab;cd|efg|hi,jkl|mn opq;rst,uvw xyz"
def mySplit(s,ds):
res = [s] for d in ds:
t = [] map(lambda x: t.extend(x.split(d)), res)
res = t
return res
print mySplit(s,';|, ')
输出:
['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']
方法二: 使用正则表达式的re.split()方法,一次性拆分字符串
import re
s = "ab;cd|efg|hi,jkl|mn opq;rst,uvw xyz"
print re.split(r'[;|, ]+',s)
输出:
['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']
二、调整字符串中文本格式二、调整字符串中文本格式
1. 如何判断字符串a是否以字符串b开头或结尾
问题:某文件系统目录下有一系列文件:a.py,quicksort.c,stack.cpp,b.sh , 编写程序给其中所有.sh文件和.py文件加上用户可
执行权限?
解决方案: 使用字符串中的str.startswith()和end.startswith()方法 (注意:多个匹配时参数使用元组)
In [1]: import os
# 列出当前目录以.sh和以.py结尾的文件
In [2]: [name for name in os.listdir('.') if name.endswith(('.py','.sh'))] Out[2]: ['b.sh', 'a.py']
In [3]: import stat
# 查看 a.py 文件权限
In [4]: os.stat('a.py').st_mode
Out[4]: 33204
# 把文件权限转换成8进制,即为平常看到的权限
In [5]: oct(os.stat('a.py').st_mode)
Out[5]: '0100664'
# 更改文件权限,添加一个可执行权限
In [6]: os.chmod('a.py',os.stat('a.py').st_mode | stat.S_IXUSR)
In [7]: ll
total 0