0

我有以下代码读取文件并将值存储到列表中。它还读取文件的每一行,如果它在文件中看到一个“(”,它会拆分它以及该行后面的所有内容。

with open('filename', 'r') as f: 
    list1 = [line.strip().split('(')[0].split() for line in f]

有没有一种方法可以让我不仅在“(”而且在“#”处进行拆分?

4

1 回答 1

1

使用re.split

使用您的数据格式示例,可能会做得比这更好,但如果没有上下文,我们仍然可以展示如何将其与您提供的代码一起使用。

要使用 re.split():

import re
with open('filename', 'r') as f:
    list1 = [re.split('[(#]+', line.strip())[0].split() for line in f]

请注意,re.split() 中的第一个参数是要拆分的正则表达式,第二个参数是要应用此操作的字符串。

一般想法来自:Splitting a string with multiple delimiters in Python

于 2013-10-28T21:46:46.870 回答