大家好,
我有一张 JMP 表,其中包含大量期刊文章的全文。每条记录的一列包含文章标题(作为 ID),另一列包含文章全文。我想创建一个新列,只包含每篇论文“方法”部分的文本。在观看了@brady_brady的“Recode Review”教程https://community.jmp.com/t5/JMP-On-Air/Recode-Review/ta-p/261025后,我开始觉得这或许可行。我的想法是,在每条记录的全文字段中搜索“方法”一词,然后用任意不常见的分隔符(例如 $%^)替换它。接下来,我会在每篇文档的全文字段中搜索“结果”一词,并用不同的任意分隔符(例如 !@#)替换它。然后,我可以使用文本转列或正则表达式,仅提取这两个分隔符之间的文本。这在理论上似乎是可行的。不过,我猜如果“方法”或“结果”这两个词在文档中出现多次(这种情况很常见),那么处理起来会很复杂(甚至可能不切实际)。有什么建议/注意事项吗?
你好,
这是可用于直接提取单词“ Methods”第一次出现和单词“ Results”第一次出现之间的文本的最基本公式。
Munger(
:TEXT,
Contains( Uppercase( :TEXT ), "METHODS" ),
Contains( Uppercase( :TEXT ), "RESULTS" )
-Contains( Uppercase( :TEXT ), "METHODS" )
)
我非常确定这仅适用于全文数据的一部分,因为这两个词在科学论文中极为常见,但是它使您了解了如何使用JMP公式而不必插入特殊字符和使用正则表达式。
最好的,
TS
与许多(几乎所有?)情况一样,“取决于”。 如果数据结构合理,则可以使用其他功能来解决此问题。 例如,如果所有论文都来自同一期刊,则您可以利用它们之间的结构一致性。 有时,您确实确实需要发挥创造力,有时,几乎不可能想出一种通过综合分析规则来分解所需文本的方法。 当然,更多的工具可以带来更多的创造力和力量。
确保查看Recode的“提取段”功能,以及您提到的某些正则表达式。
抱歉,我在这里没有更多帮助了-
干杯,
布雷迪