从第一行获取单词直到第一个空格并且在python中没有第一个字符

时间:2017-11-07 10:36:37

标签: python

我有一个文本文件,我想要提取第一个单词,但没有第一个单词并将其放入列表中。有没有一种方法在python中这样做而不使用正则表达式? 我的样子的文本示例:

#blabla sjhdiod jszncoied

我希望第一个单词在这种情况下blabla没有#。 如果正则表达式是唯一的选择,那么正则表达式将如何?

4 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

l = []
for line in open('file'):
    l.append(line.split()[0][1:])

编辑:如果你有空行,这将引发错误。你必须检查空行。这是一个可能的解决方案:

l = []
for line in open('file'):
    if line.strip():
        l.append(line.split()[0][1:])

答案 1 :(得分:1)

Pythonic方式:

my_list = [line.split(' ', 1)[0][1:] for line in open('file') if line.startswith('#')]

答案 2 :(得分:0)

  

文本文件我要提取第一个单词,但没有   第一个字符并将放入列表

result = []
with open('file.txt', 'r') as f:
    l = next(f).strip()    # getting the 1st line
    result.append(l[1:l.find(' ')])
print(result)

输出:

['blabla']

答案 3 :(得分:-1)

如果您的输入是如此常规则足够简单:

s = "#blabla sjhdiod jszncoied"
s.split()[0].strip('#')
blabla
默认情况下,

split在空格上分割。取第一个令牌并去掉'#'