我试图提取以特定标题开头的给定文本的内容。你知道吗
Header Text_A
blablabla
blablablabla
Header Text_B
blablablablablan
blablaa
为此,我以这种方式使用了pyparsing api:
ParserElement.defaultWhitespaceChars=(" \t")
NL = LineEnd().suppress()
END = StringEnd()
header_1=Literal('Header Text_A')
header_2=Literal('Header Text_B')
any_header = (header_1 | header_2)
# text isn't just anything! don't accept header line, and stop at the end of
the input string
text=Group(~any_header + ~END + restOfLine)
overall_structure = ZeroOrMore(Group(any_header +
Group(ZeroOrMore(text))))
overall_structure.ignore(NL)
当我只有一个带有上面标题的条目文本时,代码运行得很好。然而,当我有一个条目与上面的标题和另一个文本的例子,它不工作。 例如,如果我有这样一个条目:
blablablablabla
Header Text_A
blablabla
blablablabla
Header Text_B
blablablablablan
blablaa
它不起作用。。。但是,如果我只有文本:
Header Text_A
blablabla
blablablabla
Header Text_B
blablablablablan
blablaa
它工作得很好。。你知道吗
你知道我怎样才能解决这些问题吗。你知道吗
使用regex检查是否存在特定的文本(在本例中是“Header”)。如果存在,则提取数据部分,否则不提取。你知道吗
例如:
对于以上所有3个文本值,即不管单词“Head”位于何处,此代码将检查单词“Head”是否出现在文本中并进行相应处理
希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐