gpt4 book ai didi

r - 代入R中句子第N个词的模式

转载 作者:行者123 更新时间:2023-12-04 12:18:57 28 4
gpt4 key购买 nike

假设我有我的句子txt2 <- "useRs may fly into JFK or laGuardia"

我可以将给定句子的第一个和最后一个字母大写,对于第一个单词:

sub("(\\w)(\\w*)(\\w)", "\\U\\1\\E\\2\\U\\3", txt2, perl=TRUE)

最后一句话是:

sub("(\\w)(\\w*)(\\w)+$", "\\U\\1\\E\\2\\U\\3", txt2, perl=TRUE)

将第三个单词大写为 FlY 有什么诀窍?在 R 中使用类似的概念?

最佳答案

你可以使用

txt2 <- "useRs may fly into JFK or laGuardia"
id <- 3
sub(paste0("((?:\\w+\\W+){", id-1, "})(\\w)(\\w*)(\\w)"), "\\1\\U\\2\\E\\3\\U\\4", txt2, perl=TRUE)
## => [1] "useRs may FlY into JFK or laGuardia"

参见 R demo online .另请参阅 regex demo .

请注意,sub 仅替换第一个匹配项。 ((?:\w+\W+){2})(\w)(\w*)(\w)模式匹配

  • ((?:\w+\W+){2}) - 第 1 组:两次出现 1+ 个单词字符,后跟 1+ 个非单词字符-(\w) - 第 2 组:要处理的单词的起始单词字符
  • (\w*) - 第3组:待处理单词的中间部分
  • (\w) - 第 4 组:要处理的单词的最后一个单词字符。

关于r - 代入R中句子第N个词的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57384154/

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