首页 > 解决方案 > 使用已定义和未定义字符拆分字符串

问题描述

我有一个看起来像的文本文件

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 将是空间

标签: python

解决方案


您可以尝试使用正则表达式: \n[<>]\s如下:

[<>]就像你的s1\s是你的 s2。

说明

\n匹配\n

[<>]<匹配或 匹配的字符类>

\s 也匹配尾随空格,以便提取的字符串没有多余的空格

import re
re.split(r'\n[<>]\s', text)


#output

['',
 'lefortoff',
 'donna_marta',
 'agizatullina',
 'shshifter',
 'bagira',
 'recoder']

推荐阅读