在Python中,可以使用 re
模块的 split()
函数来根据正则表达式切分字符串。
这个函数接受两个主要参数:第一个参数是正则表达式模式,第二个参数是要切分的字符串。
此外,还有一个可选的maxsplit
参数,用于指定最大切分数,默认是0,表示不限制切分次数。
import re
line = 'aaa bbb ccc;ddd eee,fff'
line
'aaa bbb ccc;ddd eee,fff'
单字符切割。
re.split(r';',line)
['aaa bbb ccc', 'ddd eee,fff']
两个字符以上切割需要放在 [ ]
中。
re.split(r'[;,]',line)
['aaa bbb ccc', 'ddd eee', 'fff']
所有空白字符切割。
re.split(r'[;,\s]',line)
['aaa', 'bbb', 'ccc', 'ddd', '', '', 'eee', 'fff']
使用括号捕获分组,默认保留分割符。
re.split(r'([;])',line)
['aaa bbb ccc', ';', 'ddd eee,fff']
不想保留分隔符,以(?:...
)的形式指定。
re.split(r'(?:[;])',line)
['aaa bbb ccc', 'ddd eee,fff']
cnt = """locale_dirs = ['locale/']"""
locale_name = re.split('''\'|\"''', cnt.strip())[1].strip('/')
locale_name
'locale'
cnt2 = """locale_dirs = ['locale/']"""
locale_name = re.split('''\'|\"''', cnt2.strip())[1].strip('/')
locale_name
'locale'
def processString6(txt):
dictionary = {
"a": "A",
"e": "E",
"i": "I",
"o": "O",
"u": "U",
"狮身人面像": 'Sphinx',
"斯芬克斯": 'Sphinx',
}
for key in dictionary:
txt = txt.replace(key, dictionary[key])
print(txt)
txt = '''
获得支持
为狮身人面像做贡献
对狮身人面像的贡献
斯芬克斯的释放过程
组织狮身人面像项目
狮身人面像行为准则
'''
processString6(txt)
获得支持 为Sphinx做贡献 对Sphinx的贡献 Sphinx的释放过程 组织Sphinx项目 Sphinx行为准则
from pathlib import Path
Path('xx_text.txt').write_text(txt)
56