在R中,如何在不使用分隔符的情况下拆分字符串

Han*_*ans 2 split r

我尝试拆分方法,我想要一个只包含2个元素的字符串的第二个元素.字符串的大小是2.

例子 :

string= "AC"
Run Code Online (Sandbox Code Playgroud)

结果应该在第一个字母("A")之后拆分,我得到:

res=    [,1] [,2]
     [1,] "A" "C"
Run Code Online (Sandbox Code Playgroud)

我试着拆分,但我不知道如何在第一个元素之后拆分?

Rei*_*son 5

strsplit()会做你想做的事(如果我理解你的问题).您需要拆分""以在其元素上拆分字符串.这是一个示例,说明如何在字符串向量上执行您想要的操作:

strs <- rep("AC", 3) ## your string repeated 3 times
Run Code Online (Sandbox Code Playgroud)

接下来,拆分三个字符串中的每一个

sstrs <- strsplit(strs, "")
Run Code Online (Sandbox Code Playgroud)

哪个产生

> sstrs
[[1]]
[1] "A" "C"

[[2]]
[1] "A" "C"

[[3]]
[1] "A" "C"
Run Code Online (Sandbox Code Playgroud)

这是一个列表,所以我们可以用lapply()或处理它sapply().我们需要对每个元素进行子集化sstrs以选择第二个元素.我们应用这个[功能:

sapply(sstrs, `[`, 2)
Run Code Online (Sandbox Code Playgroud)

产生:

> sapply(sstrs, `[`, 2)
[1] "C" "C" "C"
Run Code Online (Sandbox Code Playgroud)

如果你只有一个字符串,那么

strsplit("AC", "")[[1]][2]
Run Code Online (Sandbox Code Playgroud)

这使:

> strsplit("AC", "")[[1]][2]
[1] "C"
Run Code Online (Sandbox Code Playgroud)