根据标点符号在R中拆分字符串
Split string in R based on punctuation
有谁知道如何根据标点符号在 R 中拆分字符串,或者如何删除标点符号之前的所有内容,而不是标点符号?
x <- c("a>1", "b2<0", "yy01>10")
下面是想要的结果:
"a", "b2", "yy01"
">1", "<0", ">10"
为了得到第一部分我能做的:
gsub("\b\d+\b|[[:punct:]]", "", x)
"a" "b2" "yy01"
但是我不确定如何获得第二个。有人有想法吗?
谢谢
使用 base R
中的 strsplit
并指定正则表达式以在运算符 <>
之前的单词边界处拆分
do.call(cbind, strsplit(x, "\b(?=[<>])", perl = TRUE))
# [,1] [,2] [,3]
#[1,] "a" "b2" "yy01"
#[2,] ">1" "<0" ">10"
有谁知道如何根据标点符号在 R 中拆分字符串,或者如何删除标点符号之前的所有内容,而不是标点符号?
x <- c("a>1", "b2<0", "yy01>10")
下面是想要的结果:
"a", "b2", "yy01"
">1", "<0", ">10"
为了得到第一部分我能做的:
gsub("\b\d+\b|[[:punct:]]", "", x)
"a" "b2" "yy01"
但是我不确定如何获得第二个。有人有想法吗?
谢谢
使用 base R
中的 strsplit
并指定正则表达式以在运算符 <>
do.call(cbind, strsplit(x, "\b(?=[<>])", perl = TRUE))
# [,1] [,2] [,3]
#[1,] "a" "b2" "yy01"
#[2,] ">1" "<0" ">10"