按R中大于1的空间拆分

按R中大于1的空间拆分,r,strsplit,stringr,R,Strsplit,Stringr,给定一个字符串 mystr = "Average student score 88" 如果空间超过1个,我希望拆分。我希望获得以下资料: "Average student score" "88" 我搜索到“\s+”将被任意数量的空格分割 strsplit(mystr, "\\s+") 但这不是我想要的。strsplit中是否有任何选项可以根据一定数量的空格(比如空格=k)或空格规则(比如空格>1)拆分字符串?您可以通过重复量词指定它 strsplit(mystr, "\\s{2

给定一个字符串

mystr = "Average student score       88"
如果空间超过1个,我希望拆分。我希望获得以下资料:

"Average student score" "88"
我搜索到“\s+”将被任意数量的空格分割

strsplit(mystr, "\\s+")

但这不是我想要的。strsplit中是否有任何选项可以根据一定数量的空格(比如空格=k)或空格规则(比如空格>1)拆分字符串?

您可以通过重复量词指定它

strsplit(mystr, "\\s{2,}")

\\s{2,}
正则表达式应该匹配两个或多个空格。

谢谢!是否也有一个选项来匹配确切数量的空格?是的,删除逗号
\\s{2}
要匹配两个空格,对于3,它将是
\\s{3}
,如果要匹配最小值3和最大值4,那么它将是
\\s{3,4}
另一个选项是
扫描(text=gsub(\\s{2,},,,,,,,,,,,mystr what='',sep='',sep=',,quiet=TRUE)
花时间阅读
?regex
帮助页面。