删除括号内的数字和逗号(正则表达式)

问题描述 投票:0回答:3

我想提取这个测试向量中的数字。

我已经试过了:


test <- c("(15, 80)","(100, 60)","(40, 40)","(30, 20)","(10, 60)")
stringr::str_extract(test, "[0-9:0-9:0-9], [0-9:0-9:0-9]")

但是返回相同的输入。我需要这样的输出:

 "15, 80"    "100, 60"    "40, 40"    "30, 20"    "10, 60"

r regex stringr
3个回答
2
投票

使用

gsub()
的正则表达式替换方法,我们可以尝试:

test <- c("(15, 80)","(100, 60)","(40, 40)","(30, 20)","(10, 60)")
output <- gsub("^\\(|\\)$", "", test)
output

[1] "15, 80"  "100, 60" "40, 40"  "30, 20"  "10, 60"

1
投票

在这种情况下

trimws
会起作用。

trimws(test, whitespace = "[()]")
#[1] "15, 80"  "100, 60" "40, 40"  "30, 20"  "10, 60" 

0
投票

你可以试试

trimws
chartr

> trimws(chartr("()", "  ", test))
[1] "15, 80"  "100, 60" "40, 40"  "30, 20"  "10, 60"
© www.soinside.com 2019 - 2024. All rights reserved.