python - 使用已定义和未定义字符拆分字符串
问题描述
我有一个看起来像的文本文件
text='\n> lefortoff\n> donna_marta\n> agizatullina\n> shshifter\n< bagira\n< recoder'
我想将其拆分为每个\n
但也跳过它们之后的>
和<
空格。
我正在通过此代码进行操作
names = text.split('\n> ')
last_names = names[-1].split('\n< ')
names = names[1:-1]
names.extend(last_names)
但想知道是否有更简单的方法使用伪代码来执行此操作,例如:
text.split('\n%s1%s2', %s1 = undefined, %s2 = undefined)
所以那些 s1 可以>
,<
而 s2 将是空间
。
解决方案
您可以尝试使用正则表达式: \n[<>]\s
如下:
[<>]
就像你的s1
,\s
是你的 s2。
说明:
\n
匹配\n
[<>]
<
匹配或 匹配的字符类>
\s
也匹配尾随空格,以便提取的字符串没有多余的空格
import re
re.split(r'\n[<>]\s', text)
#output
['',
'lefortoff',
'donna_marta',
'agizatullina',
'shshifter',
'bagira',
'recoder']
推荐阅读
- microservices - CQRS - 乱序消息
- android - Android Studio 模拟器:进程以退出代码 139 Android Studio 完成
- ios - 如何在 Swift 4 中解析来自 Alamofire 的数据
- javascript - reactjs - 想要创建一个“添加”按钮,为输入添加新行
- android - 如何在网格中选择图块并更改其颜色
- python - 乘法时的Python递归错误
- jwt - 如何从外部服务生成的传入 JWT 中提取信息?
- sql-server - SQL Server FOR XML 行合并行
- c++ - 使用来自另一个模板的参数的 Currying 模板
- r - 使用 R 连接到 Youtube Analytics API