我正在寻找 R 中的正则表达式来提取 .sdf 化学数据文件中给定的字段。 在这种情况下,字段由 < > 分隔,并在一行的开头跟在“>”之后。 例如。在这种情况下
string="> <FIELD1>\nfield text1\n\n> <FIELD2>\nfield text2\n\n> <FIELD3>field text3"
它必须返回
fields=c("FIELD1","FIELD2","FIELD3")
(它们可能会出现多次,所以我只需要 unique()
那些)
有什么想法吗?
干杯, 汤姆
最佳答案
试试这个。它提取字符串中与括号中的正则表达式部分匹配的部分,然后使用 unique
对其进行简化:
library(gsubfn)
strapplyc(string, "<([^>]*)>", simplify = unique)
给予:
[1] "FIELD1" "FIELD2" "FIELD3"
REVISED 轻微简化。
关于从 R 中的 .sdf 文件中提取唯一字段的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959946/