>>> from env_helper import info; info()
页面更新时间: 2024-04-07 08:16:16
运行环境:
Linux发行版本: Debian GNU/Linux 12 (bookworm)
操作系统内核: Linux-6.1.0-18-amd64-x86_64-with-glibc2.36
Python版本: 3.11.2
1.6. 使用正则表达式切分字符串¶
re.split()切割功能非常强大
>>> 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