问题标签 [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 投票
5 回答
4741 浏览

regex - awk/etc.:从文件中提取匹配项

我有一个 HTML 文件,想提取<li></li>标签之间的文本。当然有上百万种方法可以做到这一点,但我认为更多地养成在简单的 shell 命令中这样做的习惯会很有用:

问题是,这会打印所有内容,而我只想在括号中打印匹配项([^>]+)——要么 awk 不支持,要么我无能。后者似乎更有可能。如果您想将提供的正则表达式应用于文件并仅提取指定的匹配项,您将如何做?我已经知道六种其他方式,但我不想让awk这一轮获胜;)

编辑:数据结构不完善,因此使用位置匹配 ( $1, $2, etc.) 是不行的。

0 投票
1 回答
281 浏览

database - 文件夹搜索算法

不确定这是否是这里经常被问到的问题,或者我是否会得到任何答案,但我正在寻找一种伪代码方法来从包含图像的文件夹结构中生成数据库链接记录文件。

我有一组文件夹,结构如下:

从本质上讲,它代表了从 1999 年开始的车辆的可能图像。

品牌和型号(例如品牌:Alfa Romeo,型号:145)有各种装饰或版本。每种装饰或版本都可以在许多看起来相同但燃料类型或发动机容量不同的车辆中找到。

为了节省重复,上面的文件夹结构使用了默认文件夹......并且从 2000 年开始,默认版本会出现图像。我需要为每个版本生成链接表 - 基于是否有自己的覆盖图像,或者是否使用默认版本......

例如,version_1 没有图像文件,所以我需要为默认图像创建链接,从 2000 年开始一直持续到 2009 年。

另一方面,版本 2 开始使用 2000 年的默认图像,但随后使用了两个新集,首先是 2001-2002 年,然后是 2003-2009 年。因此,所需的链接列表是...

(默认就是这样 - 一个占位符,不需要链接。)

目前我正在浏览文件夹,构建数组,然后在最后修剪脂肪。我只是想知道是否有捷径,使用某种文本处理方法?大约有 45,000 个文件夹,其中大部分是空的 :-)

0 投票
3 回答
235 浏览

java - 在保持原始位置偏移的同时进行文本操作

我需要在 Java 中操作大字符串(再次删除和添加已删除的字符,移动字符),但仍想记住原始位置偏移量。例如,“计算机”一词从原始文本中的偏移量 133 开始,然后移动到位置 244,我仍然想要它最初位于位置 133 的信息。最丑陋(和资源匮乏)的解决方案是为每个字符它的原始位置加上它的位置变化。肯定有更好的解决方案,但也有更复杂的解决方案。有没有什么好的文本处理库可以解决我的问题?我不想重新发明轮子。

问候, 凯

0 投票
10 回答
152277 浏览

vim - 如何在 Vim 中将所有文本转换为小写

如何将 Vim 中的所有文本转换为小写?甚至可能吗?

0 投票
3 回答
3969 浏览

c - 如何从源文件中提取单个函数

我正在进行一项关于Linux 内核中极其冗长和复杂的函数的小型学术研究。我试图弄清楚是否有充分的理由编写 600 或 800 行长的函数。

为此,我想找到一个可以从 .c 文件中提取函数的工具,这样我就可以对该函数运行一些自动化测试。

例如,如果我cifs_parse_mount_options()在文件中有函数connect.c,我正在寻找一个大致可以工作的解决方案:

并返回函数的 523 行代码(!),从左大括号到右大括号。

当然,像这样操作现有软件包的任何方式也是gcc最有帮助的。

谢谢,

乌迪

编辑:正则表达式提取 C 函数原型声明的答案?让我相信,通过正则表达式匹配函数声明绝非易事。

0 投票
3 回答
487 浏览

text-processing - Google 图书的热门段落功能是如何开发的?

我很好奇是否有人理解、知道或可以向我指出有关 Google 如何创建其流行的段落块功能的综合文献或源代码。但是,如果您知道任何其他可以执行相同操作的应用程序,请也发布您的答案。

如果你不知道我在写什么,这里有一个通俗段落示例的链接。当您查看Modeling the legal decision process for information technology applications ... By Georgios N. Yannopoulos一书的概述时,您会看到如下内容:

热门段落

...方向,不确定。我们还没有解决,因为我们没有预料到意外情况发生时会引发的问题;公园里的某种程度的和平是要牺牲还是保护那些以使用这些东西为乐趣或兴趣的孩子。当未设想的情况确实出现时,我们会直面所涉及的问题,然后可以通过在相互竞争的利益中以最能满足我们的方式进行选择来解决问题。在做... ‎ 第86 页

出现在 1968-2003 年的 15 本书中

这将是一个适合“机械”法理学的世界。显然,这个世界不是我们的世界;人类立法者不可能对未来可能带来的所有可能的情况组合有这样的了解。这种无法预测的情况带来了目标的相对不确定性。当我们足够大胆地制定一些一般的行为规则(例如,禁止车辆进入公园的规则)时,在这种情况下使用的语言会确定任何事物都必须满足的必要条件...... ‎ 第86 页

出现在 1968-2000 年的 8 本书中

更多的

它必须是一个密集的模式匹配过程。我只能想到 n-gram 模型、文本语料库、自动抄袭检测。但是,有时 n-gram 是用于预测序列中下一个项目的概率模型,并且文本语料库(据我所知)是手动创建的。而且,在这种特殊情况下,流行的段落可能会有很多单词。

我真的迷路了。如果我想创建这样的功能,我应该如何或从哪里开始?此外,在您的回复中包括最适合这些东西的编程语言:F# 或任何其他功能语言、PERL、Python、Java...(我自己也成为 F# 粉丝)

PS:有人可以包含标签自动抄袭检测吗,因为我不能

0 投票
6 回答
3304 浏览

algorithm - 使用词频生成“顶级列表”的算法

我收集了大量人工生成的内容。我想找到最常出现的单词或短语。什么是有效的方法来做到这一点?

0 投票
3 回答
3302 浏览

nlp - 如何从 Project Gutenberg 文本中去除页眉/页脚?

我尝试了各种方法来从 Project Gutenberg 文本中剥离许可证,以用作语言学习项目的语料库,但我似乎无法提出一种无监督、可靠的方法。到目前为止,我想出的最好的启发式方法是剥离前 28 行和最后 398 行,这适用于大量文本。关于我可以自动剥离文本的方法的任何建议(这对于许多文本来说非常相似,但在每种情况下略有不同,还有一些不同的模板),以及关于如何验证文本已被准确剥离,将非常有用。

0 投票
2 回答
1462 浏览

sed - How to move part of file to its end

rpm automatically place a new installed kernel as the first option. However, I want to move it as the last one - to end of the file.

Grub configuration file looks like this:

My goal is to move first option (217.2.3) to end. Now I figure out how to delete it:

p command only prints current line (not as in vim, where it means paste).

Do you have any ideas how to automatically move this part of file to its end?

0 投票
10 回答
3345 浏览

algorithm - 查找字典单词

我有很多由两三个英文单词组合而成的复合字符串。

我需要将这些单独的英语单词与这些复合字符串分开。我的字典将包含大约 100000 个单词。

我可以将单个英语单词与此类复合字符串分开最有效的方法是什么。