如何在R

时间:2017-09-21 06:51:01

标签: r

我在r中有一个字符向量,如下所示

"BEND"        "30⁰-4,9˚-1"

我想仅从degrees子串"30⁰-4,9˚-1" 我想要的矢量是

 "BEND"        "30,9"

2 个答案:

答案 0 :(得分:3)

我们可以使用str_extract

library(stringr)
sapply(str_extract_all(v1, "[A-Z]+|\\d+(?=°)"), paste, collapse=",")
@[1] "BEND" "30,9"

或者在unicode符号(\\d+

之前匹配数字(\\p{So}
sapply(str_extract_all(v1, "[A-Z]+|\\d+(?=\\p{So})"), paste, collapse=",")
#[1] "BEND" "30,9"

数据

v1 <- c("BEND", "30°-4,9°-1")

答案 1 :(得分:1)

如果示例中的字符串表示所有字符串的模式,则可以在基数R中使用gsub

vec <- c("BEND", "30⁰-4,9˚-1")  # the data

gsub(".-[0-9]+", "", vec)
# [1] "BEND" "30,9"