问题标签 [text-processing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2683 浏览

python - zip文件中是否有用于正则表达式匹配的python模块

我有超过一百万个文本文件被压缩成 40 个 zip 文件。我还列出了大约 500 个手机型号名称。我想找出文本文件中提到特定模型的次数。

是否有任何 python 模块可以在不解压缩文件的情况下对文件进行正则表达式匹配。有没有一种简单的方法可以在不解压缩的情况下解决这个问题?

0 投票
7 回答
3510 浏览

java - 你真的可以用 GoF 设计模式构建一个快速的文字处理器吗?

四人帮的设计模式至少使用文字处理器作为他们的一些模式的示例,特别是复合和享元。

除了使用 C 或 C++ 之外,您真的可以使用这些模式和它们需要的面向对象的开销来编写高性能的全功能文字处理器吗?

我知道 Eclipse 是用 Java 编写的,但我没有经常使用它,所以我不知道它是否像 Visual Studio 那样快,或者像具有基于 C++ 的文本编辑系统的那样优美。


我只使用 C++ 和 Java 作为示例。这个问题更多地与拥有大量内存对象的开销有关,就像在文字处理器甚至游戏等应用程序中那样。

设计模式以牺牲简约为代价促进抽象,尽管它们通常会指出您何时可能会受到某种性能影响。文字处理器,尤其是游戏,可以从尽可能接近金属中获得最大的好处。

我只是想知道是否有人知道不是用 C++ 编写的快速面向对象的文字处理器或文本编辑器,以及他们是否会使用模式构建一个,或者他们会放弃很多抽象的东西吗?

0 投票
25 回答
572265 浏览

unix - 如何从 Unix 上的文本文件中提取预定范围的行?

我有一个约 23000 行的 SQL 转储,其中包含几个数据库的数据。我需要提取该文件的某个部分(即单个数据库的数据)并将其放在一个新文件中。我知道我想要的数据的开始行号和结束行号。

有谁知道一个 Unix 命令(或一系列命令)从一个文件中提取所有行,比如 16224 和 16482 行,然后将它们重定向到一个新文件中?

0 投票
24 回答
32408 浏览

awk - 还有理由学习AWK吗?

我不断学习新工具,甚至是老式工具,因为我喜欢使用正确的解决方案来解决问题。

尽管如此,我想知道是否还有任何理由学习其中的一些。awk例如对我来说很有趣,但是对于简单的文本处理,我可以使用grep, cut,sed等,而对于复杂的,我会使用 Python。

现在我并不是说它不是一个强大而方便的工具。但是既然学习一个新工具需要时间和精力,值得吗?

0 投票
7 回答
6588 浏览

algorithm - 从日语来源估计英语翻译单词数量的算法

我试图想出一种方法来估计从日语翻译成的英语单词的数量。日语有三种主要的文字——汉字平假名片假名——每一种都有不同的平均字词比(汉字最低,片假名最高)。

例子:

  • 电脑:コンピュータ(片假名 - 6 个字符);计算机(汉字:3个字)
  • 鲸鱼:くじら(平假名——3个字符);鲸(汉字:1个字符)

作为数据,我有大量的日文词汇及其英文翻译,以及相当大的匹配日文源文档及其英文翻译的语料库。我想提出一个公式来计算源文本中的汉字、平假名和片假名字符的数量,并估计这可能变成的英语单词的数量。

0 投票
24 回答
428112 浏览

command-line - 如何使用 sed 仅替换文件中的第一个匹配项?

我想在任何现有的#includes 之前使用额外的include 指令更新大量C++ 源文件。对于这类任务,我通常使用带有 sed 的小型 bash 脚本来重写文件。

如何sed只替换文件中第一次出现的字符串而不是替换每次出现的字符串?

如果我使用

它取代了所有#includes。

也欢迎实现相同目标的替代建议。

0 投票
3 回答
6917 浏览

unix - 跳过文件行直到找到匹配项,然后输出其余行

我可以编写一个简单的脚本来执行此操作,但在我不断寻求更熟悉 unix 的过程中,我想学习使用内置命令的有效方法。

我需要处理具有可变数量的标题行的非常大的文件。最后一个标题行由文本“LastHeaderLine”组成。我希望在此行之后输出所有内容。(我不担心误报匹配。)

0 投票
3 回答
34689 浏览

matlab - 将文本值从 ASCII 文件读入 matlab 变量

考虑以下文件

我想将数字加载到矩阵中,并将列标题加载到一个变量中,该变量相当于:

我不介意将名称和数字拆分为两个文件,但是准备 matlab 代码文件并对其进行评估不是一种选择。

请注意,可以有任意数量的变量(列)

0 投票
5 回答
918 浏览

text-processing - 计算重复的 URL,可能的最快方法

我仍在处理这个庞大的 URL 列表,我收到的所有帮助都很棒。

目前我的列表看起来像这样(虽然有 17000 个 URL):

http://www.example.com/page?CONTENT\_ITEM\_ID=1
http://www.example.com/page?CONTENT\_ITEM\_ID=3
http://www.example.com/page?内容\_ITEM\_ID=2
http://www.example.com/page?CONTENT\_ITEM\_ID=1
http://www.example.com/page?CONTENT\_ITEM\_ID=2
http://www .example.com/page?CONTENT\_ITEM\_ID=3
http://www.example.com/page?CONTENT\_ITEM\_ID=3

我可以用几种方法过滤掉重复项没问题,awk 等。我真正想做的是取出重复的 URL,但同时计算 URL 在列表中存在的次数并打印带有管道分隔符的 URL 旁边的计数。处理完列表后,它应该如下所示:

网址 | 数数

http://www.example.com/page?CONTENT\_ITEM\_ID=1 | 2
http://www.example.com/page?CONTENT\_ITEM\_ID=2 | 2
http://www.example.com/page?CONTENT\_ITEM\_ID=3 | 3

什么方法是实现这一目标的最快方法?

0 投票
3 回答
585 浏览

language-agnostic - 文本中单词的自动拼写检查

[编辑]简而言之:您将如何编写自动拼写检查器?这个想法是检查器从已知的良好来源(字典)构建一个单词列表,并在足够频繁使用时自动添加新单词。一段时间未使用的词应逐步淘汰。因此,如果我删除包含“Mungrohyperiofier”的场景的一部分,检查器应该记住它一段时间,当我在另一个场景中输入“Mung<Ctrl+Space>”时,它应该再次提供它。如果我不使用这个词,比如说,几天,它应该忘记它。

同时,我想避免在字典中添加拼写错误。[/EDIT]

我想为科幻故事写一个文本编辑器。编辑应该为当前故事中任何地方使用的任何单词提供单词补全。它只会提供故事的单个场景进行编辑(因此您可以轻松地移动场景)。

这意味着我有三套:

  1. 所有其他场景中所有单词的集合
  2. 在我开始编辑之前当前场景中的一组词
  3. 当前编辑器中的单词集

我需要将这些集合存储在某个地方,因为每次都从头开始构建列表太昂贵了。我认为一个每行一个单词的简单纯文本文件就足够了。

当用户编辑场景时,我们有这些情况:

  1. 她删了一个字。这个词在当前场景中的其他任何地方都没有使用。
  2. 她打出一个新词
  3. 她输入了一个已经存在的单词
  4. 她输入了一个已经存在但打错字的单词
  5. 她更正了第 2 组中一个单词的错字。
  6. 她更正了第 1 组单词中的错字(即错字也在别处)。
  7. 她删除了一个她打算再次使用的词。但是,删除后,该单词不再位于集合#1 和#3 中。

显而易见的策略是在保存场景时重建单词集,并从每个场景的单词列表文件中构建集#1。

所以我的问题是:是否有一个聪明的策略来保留不再使用的单词但仍然能够逐步淘汰拼写错误?如果可能的话,这个策略应该在后台运行,用户甚至不会注意到发生了什么(即我想避免必须抓住鼠标从菜单中选择“将单词添加到字典”)。

[编辑] 基于悲伤的评论