gpt4 book ai didi

r - 如何在字符串中查找某个部分并只保留该部分

转载 作者:行者123 更新时间:2023-12-04 10:59:58 25 4
gpt4 key购买 nike

找到例如字符串“:[1-9]*”并只保留那部分的最干净的方法是什么?

您可以使用 regexec 来获取起点,但是没有更简洁的方法来立即获取值吗?

例如:

test <- c("surface area: 458", "bedrooms: 1", "whatever")
regexec(": [1-9]*", test)

我如何立即得到只是
c(": 458",": 1", NA )

最佳答案

您可以使用可以很好地处理此问题的基础 R。

> x <- c('surface area: 458', 'bedrooms: 1', 'whatever')
> r <- regmatches(x, gregexpr(':.*', x))
> unlist({r[sapply(r, length)==0] <- NA; r})
# [1] ": 458" ": 1" NA

虽然,我发现这样做要简单得多......
> x <- c('surface area: 458', 'bedrooms: 1', 'whatever')
> sapply(strsplit(x, '\\b(?=:)', perl=T), '[', 2)
# [1] ": 458" ": 1" NA

关于r - 如何在字符串中查找某个部分并只保留该部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com