从 R 中的 .sdf 文件中提取唯一字段的正则表达式

标签 r regex string chemistry

我正在寻找 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/

相关文章:

java - C++ std::string 到固定长度的 jstring

java - CTCI 的字符串排列解法的这个解法正确吗?

r - 在模型列表上使用stepAIC

r - 在数据表中查找和子集模式

Javascript 忽略字符串中的 NaN 字符

java - 格式化正则表达式的问题

r - 当它实际上是一个因素时,是否有更快的方法来重新编码字符数据?

r - R中基于多列的匹配数据框

c - 在R中寻找Levenshtein距离的详细代码。

python - 为什么我的可选组不是贪心的?/(5)?.*/