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

在python中,获取从第一行到第一个空格且没有第一个字符的单词,python,Python,我有一个文本文件,我想在其中提取第一个单词,但没有第一个字符,并将其放入列表中。python中有没有一种不用正则表达式就能做到这一点的方法? 我所拥有的文本示例如下所示: #blabla sjhdiod jszncoied 我想在这个例子中的第一个单词是blabla,没有#。 如果regex是唯一的选择,那么regex会是什么样子呢?如果您的输入非常规则,那么就足够简单了: s = "#blabla sjhdiod jszncoied" s.split()[0].strip('#') blab

我有一个文本文件,我想在其中提取第一个单词,但没有第一个字符,并将其放入列表中。python中有没有一种不用正则表达式就能做到这一点的方法? 我所拥有的文本示例如下所示:

#blabla sjhdiod jszncoied
我想在这个例子中的第一个单词是blabla,没有#。
如果regex是唯一的选择,那么regex会是什么样子呢?

如果您的输入非常规则,那么就足够简单了:

s = "#blabla sjhdiod jszncoied"
s.split()[0].strip('#')
blabla

split
默认情况下在空白处拆分。取下第一个令牌并剥去“#”

这应该可以做到:

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:])
一个文本文件,我想在其中提取第一个单词,但没有 第一个字符并将其放入列表

输出:

['blabla']
肾盂道:

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

你试过什么吗?如果是这样,请将其放在此处不充分的问题描述:应过滤掉多少前导数字符号?你认为任何非空格都是连续单词还是哪个特殊字符终止它?只有文件的第一行有趣吗?如果输入为“##bla sjhdiod jszncoied”,您的输出将是blabla@DRPK,为什么这是错误的?OP声明“没有#”。。。目前还不清楚您的情况下的预期行为。请再次阅读问题!OP说:一个文本示例。。。!!!例如,我希望在本例中的第一个单词blabla不带#。!!!在这种情况下!!在这个示例中@DRPK在本例中(!!)在本示例中(!!),我的解决方案生成所需的输出。您的批评完全基于您制作的其他数据示例,以及您制作的示例所需的输出。你怎么知道“不带#”中的“the#”是单数?你怎么知道??!!!!你不确定!这不是OP问题的一般答案,问OP关于这个讨论的问题,如果他说我只有这类数据,我会投票支持你!
my_list = [line.split(' ', 1)[0][1:] for line in open('file') if line.startswith('#')]