问题很简单,但我没有运气修理它。 strsplit()是一个相当简单的功能,我很惊讶我和我一样挣扎:
# temp is the problem string. temp is copy / pasted from my R code.
# i am hoping the third character, the space, which i think is the error, remains the error
temp = "GS PG"
# temp2 is created in stackoverflow, using an actual space
temp2 = "GS PG"
unlist(strsplit(temp, split = " "))
[1] "GS PG"
unlist(strsplit(temp2, split = " "))
[1] "GS" "PG"
。
即使它不能在我这里尝试重现这个例子,这也是我遇到的问题。对于temp,代码不会因为某些奇怪的原因而在空间上拆分变量。任何想法将不胜感激!
最好,
编辑 - 我的示例未能重新创建该问题。作为参考,通过使用rvest从在线搜索代码在我的代码中创建了temp,并且出于某种原因,它必须抓取除正常空间之外的其他角色,我想?我需要按空格分割这些字符串。
答案 0 :(得分:5)
尝试以下方法:
unlist(strsplit(temp, "\\s+"))
"\\s+"
是对任何类型的空格的正则表达式搜索,而不仅仅是标准空间。
答案 1 :(得分:0)
与评论一样,
“空间”很可能实际上不是空间,而是其他一些空白字符。 请尝试以下任何一项来缩小范围:
whitespace <- c(" ", "\t" , "\n", "\r", "\v", "\f")
grep(paste(whitespace,collapse="|"), temp)