我有一个文本文件,看起来像
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可以是空间
@SeaBean的回答是最一般的,也是我的第一选择。但是,如果实际上只有两个表达式可以拆分,则可以使用带有
str.split()
的嵌套循环,如下所示:这使用了这样一个事实,即如果在其中一个分隔符上拆分,结果部分有时将是名称列表,而另一个分隔符位于它们之间。因此,我们首先在一个分隔符上拆分,然后在另一个分隔符上拆分每个部分(如果需要)
这将创建一个嵌套的列表结构,但如果我们只报告在内部循环中得到的所有内容,它将生成一个平面列表
您可以尝试使用regex:
\n[<>]\s
,如下所示:[<>]
就像你的s1
,而\s
就是你的s2说明:
\n
匹配\n
[<>]
字符类以匹配<
或>
\s
也匹配尾随空格,以便提取的字符串没有额外的空格相关问题 更多 >
编程相关推荐