问题标签 [text-parsing]
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.
c++ - 在 C++ 中解析字符串
我有大量的日志行,我需要解析每一行(所以效率非常重要)。
每个日志行的格式为
cust_name time_start time_end (IP 或 URL)*
因此,ip 地址、时间、时间和一个可能为空的 ip 地址或 url 列表,以分号分隔。如果最后一个列表中只有 ip 或 url,则没有分隔符。如果超过 1 个,则用分号分隔。
我需要一种方法来解析这一行并将其读入数据结构。time_start 或 time_end 可以是系统时间或 GMT。cust_name 也可以有多个由空格分隔的字符串。
我可以通过逐个字符读取并编写自己的解析器来做到这一点。有一个更好的方法吗 ?
python - 如何在 Vim 中转置文件中行和列的内容?
我知道我可以使用 Awk,但我在 Windows 机器上,并且我正在为可能没有 Awk 的其他人创建一个函数。我也知道我可以编写一个 C 程序,但我不希望为我正在制作的一个小 Vim 实用程序提供需要编译和维护的东西。
原始文件可能是:
在转置之后,它应该变成:
更新
- 高尔夫规则适用于选择正确答案。
- Python 爱好者应该在下面查看Charles Duffy 的答案。
regex - 正则表达式和 XSS 上的“战争”
我一直对编写像论坛或博客这样的网络软件很感兴趣,这些东西需要有限的标记才能重写为 HTML。但是最近,我越来越多地注意到对于 PHP,尝试谷歌搜索“PHP BBCode parser -PEAR”并测试一些,你要么得到一个低效的混乱,要么你得到的代码很糟糕,到处都是 XSS 漏洞。
以我之前提到的例子为例,在那些糟糕的 BBCode 解析器中,你将如何避免 XSS?我现在将使用您的典型正则表达式来处理链接,您可以提及它的脆弱性以及如何避免它。
处理图像标签几乎没有比这更安全的了。
所以我有几个具体的问题,主要是针对 PHP 实现的。
- 在此示例中,仅使用 uri/url 验证表达式进行匹配是否更好?或者,最好使用
(.*?)
回调,然后确定输入是否是有效链接?正如上面显而易见的javascript:alert('XSS!')
那样,在上面的 URL 标记中可以工作,但如果完成 uri 匹配,则会失败。 - 回调中的函数怎么样
urlencode()
,它们会是什么威慑或问题(就 URI 标准而言)? - 编写全栈解析器会更安全吗?或者,对于每页处理多个不同条目的东西来说,开发和使用这样的东西所需的时间和处理能力是否太重了?
我知道我的示例是众多示例之一,并且比某些示例更具体。但是,不要逃避提供自己的。 因此,我正在寻找文本解析情况下 XSS 保护的原则和最佳实践以及一般建议。
c# - 字符串解析,提取数字和字母
解析字符串并提取数字和字母的最简单方法是什么?我有可以采用以下格式(数字|字母或字母|数字)的字符串,即“10A”、“B5”、“C10”、“1G”等。
我需要提取两个部分,即“10A”->“10”和“A”。
更新:感谢大家的所有优秀答案
c# - 我应该如何检测文本文件中使用了哪个分隔符?
我需要能够解析 CSV 和 TSV 文件。我不能依靠用户知道区别,所以我想避免要求用户选择类型。有没有一种简单的方法来检测正在使用哪个分隔符?
一种方法是阅读每一行并计算制表符和逗号,并找出在每一行中最常用的。当然,数据可能包括逗号或制表符,因此说起来容易做起来难。
编辑:这个项目的另一个有趣的方面是,当我读入文件时,我还需要检测文件的模式,因为它可能是其中之一。这意味着在解析之前我不会知道我有多少字段。
java - 使用 OCR 的 PDF 文本提取方法
有没有人尝试使用 OCR 库和 Java 从 PDF 中提取文本?您发现什么是最可靠的文本提取库。我见过的大多数方法(tesseract、GOCR)都是需要编写一些 JNI 代码的 C 库。
我熟悉 pdfbox,它现在是 0.8.x 版本的 Apache 孵化器项目,但它的文本提取并不总是准确的。我正在寻找一种更可靠的替代方法。
在尝试的过程中,我还没有尝试过 Asprise JavaPDF,但想了解更多关于 OCR 方法的信息(如果可能的话)。
任何帮助,将不胜感激。
c# - 在 C# 中解析文本文件并跳过一些内容
我正在尝试解析具有标题和正文的文本文件。在该文件的标题中,有对正文部分的行号引用。例如:
这意味着 SECTION_A 从第 256 行开始。
将这个标题解析成字典然后在必要时阅读这些部分的最佳方法是什么。
典型的场景是:
- 解析标题和只读部分 SECTION_B
- 解析标题并阅读每个部分的第一段。
数据文件很大,我绝对不想全部加载到内存中再操作。
我会很感激你的建议。我的环境是 VS 2008 和 C# 3.5 SP1。
string - str.find() 遇到问题
我正在尝试使用 str.find() 并且它不断引发错误,我做错了什么?
错误