【问题标题】:Python - take words from text [closed]Python - 从文本中获取单词[关闭]
【发布时间】:2016-03-22 17:35:59
【问题描述】:

我需要解析一个文本,但问题是我要查找的单词不仅仅在一行上。

例如,计算机一词可以在行尾有“comp”,而在行首我有“uter”(没有任何空格)。我想打印我找到了“计算机”这个词

考虑到我需要优化算法,而不是检查单词计算机中的每个字母,这是最好的解决方案。

【问题讨论】:

  • 如果您要查找 foobar,而 foo 位于末尾,而 bar 位于下一行的开头,但 foo 和 bar 实际上是文本中的单个单词,该怎么办?
  • 文本文件是否足够小,可以将整个文件加载到内存中?
  • 您是在谈论 '\n' 换行符,还是只是在文本编辑器中查看分布在不同行中的单词?
  • @spoke 你应该添加你的数据样本,因为现在有点不清楚你实际拥有什么。如果没有换行符,你基本上只有一行
  • 如果你能给我们举个例子,这会节省时间。

标签: python regex parsing


【解决方案1】:

尝试使用这种格式:

word in "".join(line.strip() for line in text)

Here is a demo

【讨论】:

  • 如果我有一个大文件(甚至可能> 100mb),这不会带来麻烦
  • 你有什么问题?
  • @spoke 这取决于您有多少可用内存,我的低预算 PC 有 4GB。您的替代方案包括缓冲,但使用类似于 jonotoronto 提出的方法
  • @spoke:这篇文章可能有助于分块读取大文件:stackoverflow.com/questions/35888841/…
猜你喜欢
  • 2021-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多