我有一个数据集,其中一列如下所示:
ABC|DEF|GHI,
ABCD|EFG|HIJK,
ABCDE|FGHI|JKL,
DEF|GHIJ|KLM,
GHI|JKLM|NO|PQRS,
BCDE|FGHI|JKL
.... 等等
我需要提取出现在第一个字符之前的字符|
象征。
在 Excel 中,我们将使用 MID-SEARCH 或 LEFT-SEARCH 的组合,R 包含substr()
.
语法是 -substr(x, <start>,<stop>)
就我而言,start 始终为 1。对于 stop,我们需要搜索|
。我们怎样才能做到这一点?有其他方法可以做到这一点吗?
我们可以用sub
sub("\\|.*", "", str1)
#[1] "ABC"
Or with strsplit
strsplit(str1, "[|]")[[1]][1]
#[1] "ABC"
Update
如果我们使用@hrbrmstr 的数据
sub("\\|.*", "", df$V1)
#[1] "ABC" "ABCD" "ABCDE" "DEF" "GHI" "BCDE"
这些都是基本的 R 方法。没有使用外部包。
data
str1 <- "ABC|DEF|GHI ABCD|EFG|HIJK ABCDE|FGHI|JKL DEF|GHIJ|KLM GHI|JKLM|NO|PQRS BCDE|FGHI|JKL"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)