可以在Python中使用BeautifulSoup或regex解析此半结构化文本文件

可以在Python中使用BeautifulSoup或regex解析此半结构化文本文件,python,regex,parsing,beautifulsoup,Python,Regex,Parsing,Beautifulsoup,如何解析我拥有的这个文本文件并只提取每行中的第一个值 file.txt: http://google.com http://yahoo.com http://ebay.com 预期产出: http://google.com http://yahoo.com http://ebay.com 可以在漂亮的汤或某种正则表达式中进行吗?我认为最简单的方法就是按,进行拆分 with open('file.txt') as f: for line in f: print(l

如何解析我拥有的这个文本文件并只提取每行中的第一个值

file.txt

http://google.com
http://yahoo.com
http://ebay.com

预期产出

http://google.com
http://yahoo.com
http://ebay.com

可以在漂亮的汤或某种正则表达式中进行吗?

我认为最简单的方法就是按
进行拆分

with open('file.txt') as f:
    for line in f:
        print(line.split(',', 1)[0])

在这里,为
str.split
提供
maxslit
参数是可选的,但是效率更高一些,因为您只需要拆分一次。

我认为最简单的方法是只按
进行拆分

with open('file.txt') as f:
    for line in f:
        print(line.split(',', 1)[0])

在这里,为
str.split
提供
maxslit
参数是可选的,但是由于您只需要拆分一次,因此效率更高一些。

BeautifulSoup是一个HTML解析器-由于您的文件没有HTML,因此它实际上不会做很多事情

不过,这里有一个正则表达式,它可以在.com中查找任何域,而忽略其余域:

(.+\.com)
因此,要在Python中实现它

tester = re.compile(r'(.+\.com)')
links = tester.match(linefromfile)

BeautifulSoup是一个HTML解析器——因为您的文件没有HTML,所以它实际上什么都做不了

不过,这里有一个正则表达式,它可以在.com中查找任何域,而忽略其余域:

(.+\.com)
因此,要在Python中实现它

tester = re.compile(r'(.+\.com)')
links = tester.match(linefromfile)
签出模块签出模块