如何删除R中文本字符串中#后面的注释

时间:2017-03-07 22:41:59

标签: r comments

我有一个文本字符串变量,例如

string <- ' a=1, # number a is equal to 1
            b=2, # number b is equal to 2'

在删除#之后的注释之前,我无法评估这些方程式。 是否有任何功能可以做到这一点?或者我应该使用正则表达式来处理它?<​​/ p>

2 个答案:

答案 0 :(得分:0)

是的,您可以使用正则表达式:

gsub(pattern = "#[^\\\n]*", replacement = "", x = string)
# [1] " a=1, \n            b=2, "

说明:"#[^\\\n]*"匹配#后跟除新行\n以外的任何内容。

我对为什么你这样做持怀疑态度。可能有更好的方法来实现你的目标......

答案 1 :(得分:0)

尝试使用stringr包:

str <- strsplit(string, split = "\n")[[1]]
str_trim(str_split_fixed(str, "#|;", 2)[, 1])

#[1] "a=1," "b=2,"

或者,例如,str <- "a=1, # number a is equal to 1",然后

str_trim(str_split_fixed(str, "#|;", 2)[, 1])

#[1] "a=1,"