如何删除 R 中文本字符串中 # 后面的注释
How to remove comments following # in a text string in R
我有一个文本字符串变量,例如
string <- ' a=1, # number a is equal to 1
b=2, # number b is equal to 2'
在删除# 后面的注释之前,我无法计算这些方程式。
是否有任何功能旨在做到这一点?还是应该使用正则表达式来处理?
是的,你可以使用正则表达式:
gsub(pattern = "#[^\\n]*", replacement = "", x = string)
# [1] " a=1, \n b=2, "
解释:"#[^\\n]*"
匹配 #
后跟除新行 \n
.
之外的任何内容
我很怀疑为什么你要这样做。可能有更好的方法来实现您的目标...
尝试使用 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,"
我有一个文本字符串变量,例如
string <- ' a=1, # number a is equal to 1
b=2, # number b is equal to 2'
在删除# 后面的注释之前,我无法计算这些方程式。 是否有任何功能旨在做到这一点?还是应该使用正则表达式来处理?
是的,你可以使用正则表达式:
gsub(pattern = "#[^\\n]*", replacement = "", x = string)
# [1] " a=1, \n b=2, "
解释:"#[^\\n]*"
匹配 #
后跟除新行 \n
.
我很怀疑为什么你要这样做。可能有更好的方法来实现您的目标...
尝试使用 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,"