为什么得到不同的strsplit函数结果

为什么得到不同的strsplit函数结果,r,R,我的输出结果是“嗨”“你好” 但是我在使用“*”符号时得到了不同的结果 输出结果为“h”i“h”e“l”l“o”* 我可以知道strsplit函数在*和+符号上的工作方式不同。我们需要fixed=TRUE,因为它是一个表示零个或多个字符的元字符。解决方案是添加fixed=TRUE或转义(\\*) 因为*是正则表达式中的元字符。你需要逃避它,才能真正地使用它。 s = "hi@hello" strsplit(s,"@")[[1]] s = "hi*hello" strsplit(s,"*")[[

我的输出结果是“嗨”“你好”

但是我在使用“*”符号时得到了不同的结果

输出结果为“h”i“h”e“l”l“o”*


我可以知道strsplit函数在*和+符号上的工作方式不同。

我们需要
fixed=TRUE
,因为它是一个表示零个或多个字符的元字符。解决方案是添加
fixed=TRUE
或转义(
\\*


因为
*
是正则表达式中的元字符。你需要逃避它,才能真正地使用它。
s = "hi@hello"
strsplit(s,"@")[[1]]
s = "hi*hello"
strsplit(s,"*")[[1]]
strsplit(s,"*", fixed= TRUE)[[1]]