我有一个文本字符串变量,例如
string <- ' a=1, # number a is equal to 1
b=2, # number b is equal to 2'
在删除#之后的注释之前,我无法评估这些方程式。 是否有任何功能可以做到这一点?或者我应该使用正则表达式来处理它?</ p>
答案 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,"