R 尝试在单个字符串上使用sub(),但它只更改所需的第一个字符,而不是字符串上出现的所有字符
我对这门语言相当陌生,决定给我一点锻炼。我试图改变这个表达式中的逗号R 尝试在单个字符串上使用sub(),但它只更改所需的第一个字符,而不是字符串上出现的所有字符,r,string,R,String,我对这门语言相当陌生,决定给我一点锻炼。我试图改变这个表达式中的逗号 0,869*(100/3)+0,791*(100/3)+0,757*(100/3)+0,723*0+0,544*0+0,237*100 对于圆点 但是当我尝试使用sub()函数时,它只更改第一个逗号,而不更改其他逗号。有人能给我解释一下为什么会这样吗?抱歉,如果这是一个简单的问题,我试图搜索,但什么也没找到。代码如下: sub(",",".","0,869*(100/3)+0
0,869*(100/3)+0,791*(100/3)+0,757*(100/3)+0,723*0+0,544*0+0,237*100
对于圆点
但是当我尝试使用sub()函数时,它只更改第一个逗号,而不更改其他逗号。有人能给我解释一下为什么会这样吗?抱歉,如果这是一个简单的问题,我试图搜索,但什么也没找到。代码如下:
sub(",",".","0,869*(100/3)+0,791*(100/3)+0,757*(100/3)+0,723*0+0,544*0+0,237*100")
如果您在文档中查找sub,它会说它只替换第一个实例-在stringr:)中使用
gsub
或str\u replace\u all
)
string尝试gsub
而不是sub
。从?sub
-“sub和gsub分别执行第一个匹配项和所有匹配项的替换。”请提供简单示例。
string <- "0,869*(100/3)+0,791*(100/3)+0,757*(100/3)+0,723*0+0,544*0+0,237*100"
sub(",",".",string)
[1] "0.869*(100/3)+0,791*(100/3)+0,757*(100/3)+0,723*0+0,544*0+0,237*100"
gsub(",",".",string)
[1] "0.869*(100/3)+0.791*(100/3)+0.757*(100/3)+0.723*0+0.544*0+0.237*100"
stringr::str_replace_all(string, ",",".")
[1] "0.869*(100/3)+0.791*(100/3)+0.757*(100/3)+0.723*0+0.544*0+0.237*100"