gpt4 book ai didi

regex - 返回字符串中某个字符的第一次出现

转载 作者:行者123 更新时间:2023-12-01 06:58:24 24 4
gpt4 key购买 nike

我一直在尝试在出现第一个 ^ 符号后提取一部分字符串。例如,字符串看起来像 abc^28092015^def^1234。我需要提取夹在第一个两个 ^ 标志之间的 28092015

因此,我需要从出现的第一个 ^ 符号中提取 8 个字符。我一直在尝试提取第一个 ^ 符号的位置,然后将其用作 substr 函数中的参数。

我试着用这个:

x=abc^28092015^def^1234 `rev(gregexpr("\\^", x)[[1]])[1]`

引用讨论的答案here .

但它继续返回最后的位置。谁能帮帮我?

最佳答案

我会使用 sub。

x <- "^28092015^def^1234"
sub("^.*?\\^(.*?)\\^.*", "\\1", x)
# [1] "28092015"

由于 ^ 是正则表达式中的一个特殊字符,您需要对其进行转义以匹配文字 ^ 符号。

^ 进行拆分并获取第二个索引的值。

strsplit(x,"^", fixed=-T)[[1]][2]
# [1] "28092015"

您也可以使用 gsub

gsub("^.*?\\^|\\^.*", "", x, perl=T)
# [1] "28092015"

关于regex - 返回字符串中某个字符的第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823188/

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