使用 Gsub 捕获冒号后的第一个字母 : 并将其转换为大写
Using Gsub to capture the first letter after a colon : and transform it into uppercase
我需要捕获冒号后的第一个字母 : 并将其转换为大写。我的输入是:
ID1423:Bellatorias obiri 18 Aug 2006
ID2533:Caretta caretta 16 Jul 2000
ID342:Cyclodomorphus praealtus 24 Dec 2009
ID8777:Dermochelys coriacea 8 Jan 2009
ID922:Egernia stokesii badia 16 Jul 2000
我使用的代码是 reptiledata <- gsub("(\w)(\w+)", ":\U", reptile_data, perl = TRUE)
我得到这样的输出:
> reptiledata
[1] "c(:1, :1, :2, 8, :1, :1, :1, :1, :1, :1, :1, :2, 4, :1, :1, :1)"
[2] "c(2, 6, 3, 5, 6, 6, 6, 6, 6, 6, 6, 4, 1, 2, 6, 6)"
etc...
我需要一个通用的 gsub 代码,它将冒号后的许多首字母字符转换为大写,而不仅仅是显示的字符。感谢您的帮助!
尝试在 Perl 模式下使用 gsub
和大写替换修饰符 \U
:
gsub(":([A-Za-z])", ":\U\1", str, perl=TRUE)
这会将冒号后跟单个字母的任何冒号替换为冒号后跟该字母的大写形式。如果您发现它触发不应修改的文本,我们可以使此模式更具体。
我需要捕获冒号后的第一个字母 : 并将其转换为大写。我的输入是:
ID1423:Bellatorias obiri 18 Aug 2006
ID2533:Caretta caretta 16 Jul 2000
ID342:Cyclodomorphus praealtus 24 Dec 2009
ID8777:Dermochelys coriacea 8 Jan 2009
ID922:Egernia stokesii badia 16 Jul 2000
我使用的代码是 reptiledata <- gsub("(\w)(\w+)", ":\U", reptile_data, perl = TRUE)
我得到这样的输出:
> reptiledata
[1] "c(:1, :1, :2, 8, :1, :1, :1, :1, :1, :1, :1, :2, 4, :1, :1, :1)"
[2] "c(2, 6, 3, 5, 6, 6, 6, 6, 6, 6, 6, 4, 1, 2, 6, 6)"
etc...
我需要一个通用的 gsub 代码,它将冒号后的许多首字母字符转换为大写,而不仅仅是显示的字符。感谢您的帮助!
尝试在 Perl 模式下使用 gsub
和大写替换修饰符 \U
:
gsub(":([A-Za-z])", ":\U\1", str, perl=TRUE)
这会将冒号后跟单个字母的任何冒号替换为冒号后跟该字母的大写形式。如果您发现它触发不应修改的文本,我们可以使此模式更具体。