gpt4 book ai didi

regex - R:使用 POSIX 正则表达式从字符串中提取数据

转载 作者:行者123 更新时间:2023-12-02 08:54:55 26 4
gpt4 key购买 nike

如何使用 POSIX 样式正则表达式从此字符串中仅提取 DATABASE_NAME?

st <- "MICROSOFT_SQL_SERVER.DATABASE\INSTANCE.DATABASE_NAME."

首先,这会产生一个错误

Error: '\I' is an unrecognized escape in character string starting "MICROSOFT_SQL_SERVER.DATABASE\I"

我在想类似的事情

sub(".*\\.", st, "")

最佳答案

第一个问题是您需要转义字符串中的 \:

st <- "MICROSOFT_SQL_SERVER.DATABASE\\INSTANCE.DATABASE_NAME."

至于主要问题,这将从您给出的字符串中返回您想要的位:

> sub("\\.$", "", sub("[A-Za-z0-9\\._]*\\\\[A-Za-z]*\\.", "", st))
[1] "DATABASE_NAME"

但更简单的解决方案是拆分 \\. 并选择最后一个 block :

> strsplit(st, "\\.")[[1]][3]
[1] "DATABASE_NAME"

或者稍微自动化一点

> sst <- strsplit(st, "\\.")[[1]]
> tail(sst, 1)
[1] "DATABASE_NAME"

关于regex - R:使用 POSIX 正则表达式从字符串中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685810/

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