解析R中的因子字符串

解析R中的因子字符串,r,factors,R,Factors,我有一根绳子 x = "[1,2,3]" 如何从字符串中获取元素1和2 我试过strsplit,但似乎有点棘手。然后我尝试在“[”上拆分,这似乎也不容易。您可以使用regex查找来提取数字 library(stringr) str_extract_all(x, '(?<=\\[|,)\\d+(?=,)')[[1]] #[1] "1" "2" 库(stringr) str_extract_all(x,,(?一个基本选项,这里我们只需删除括号并按,分割,尽管注意@MrFlick的注释 st

我有一根绳子

x = "[1,2,3]"
如何从字符串中获取元素1和2


我试过strsplit,但似乎有点棘手。然后我尝试在“[”上拆分,这似乎也不容易。

您可以使用
regex
查找来提取数字

library(stringr)
str_extract_all(x, '(?<=\\[|,)\\d+(?=,)')[[1]]
#[1] "1" "2"
库(stringr)

str_extract_all(x,,(?一个基本选项,这里我们只需删除括号并按
分割,尽管注意@MrFlick的注释

strsplit(gsub("\\[|\\]", "", x), ",")[[1L]][1:2]
# [1] "1" "2"

你是如何得到这样一个字符串的?你可能正在解析一个JSON对象吗?有一些R包可以让这更容易。我的rstudio或os有什么问题吗?当我复制你的代码时,我在gregexpr(“(?@plafort在上一个
stringr
版本中,您可能需要用
perl
对其进行包装,这不再需要了。例如,
str\u extract\u all(x,perl)(?
str\u extract\u all(x,)(?@plafort我编辑了之前的评论。你能试试那个代码吗?是的,它很有效。谢谢。有没有新的字符串我应该找?你也可以做
strsplit(x,'\\D')[[1]][2:3]
@akrun,虽然是这样的,但需要注意
1.23,5e-38
等。