gpt4 book ai didi

python - pyparsing:提取包含特定文本的字符串

转载 作者:行者123 更新时间:2023-12-01 06:12:20 26 4
gpt4 key购买 nike

我正在尝试学习 pyparsing。这听起来很有希望,并且用于文本处理会很有趣。无论如何,这是我的问题:

我有一个类(class)名称列表。例如,

courselist = ["Project Based CALC",
"CALCULUS I",
"Calculus II",
"Intermediate MICRO",
"Intermediate CALCULUS advance",
"UNIVERSITY PHYSICS"]

我想从上面的列表中提取与微积分有关的类(class)。这些类(class)要么有完整的 CALCULUS 单词,要么有缩写 CALC。首先,假设这些单词只以大写形式出现(上面的例子中有一个是小写的,我们暂时忽略它)。

我编写了以下代码:

import pyparsing as pp

calc = pp.Literal("CALC")
for entry in courselist:
if len(calc.searchString(entry)) >= 1:
print entry
else:
pass

我的第一个问题是,是否有更好的方法使用 pyparsing 来做到这一点?

现在上面的内容缺少微积分 II。我知道我可以通过将 calc 定义为:

calc = pp.Literal("CALC") | pp.Literal("Calc")

但这会错过cAlc。有没有办法指定语法,使 CALC 中的所有小写和大写字母都匹配。

感谢您的帮助。

最佳答案

calc = pp.CaselessLiteral('calc')
for entry in courselist:
if calc.searchString(entry, 1):
print entry

效果类似于:

for entry in courselist:
if 'calc' in entry.lower():
print entry

关于python - pyparsing:提取包含特定文本的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5112858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com