r - 如何将R中除某些字母外的所有字母大写

标签 r replace uppercase lowercase capitalization

我在 R 中有一个带有一列字符串的数据框,例如v1 <- c('JaStADmmnIsynDK', 'laUksnDTusainS')

我的目标是将每个字符串中除“s”、“t”和“y”之外的所有字母大写。

所以结果最终应该是:“JAStADMMNIsyNDK”和“LAUKsNDTUsAINS”。

因此不会更改任何上述字母:'s'、't' 和 'y'。

到目前为止,我只需要 25 倍就可以做到这一点

levels(df$strings) <- sub('n', 'N', levels(df$strings))

但这似乎有点过分了!我怎样才能在 R 中轻松地做到这一点?

最佳答案

尝试

v2 <- gsub("[sty]", "", paste(letters, collapse="")) 
chartr(v2, toupper(v2), v1)
#[1] "JAStADMMNIsyNDK" "LAUKsNDTUsAINS" 

数据

v1 <- c("JaStADmmnIsynDK", "laUksnDTusainS")

关于r - 如何将R中除某些字母外的所有字母大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37037271/

相关文章:

r - 比较聚集 (tidyr) 与融化 (reshape2)

javascript - 通过 jquery 查找和替换用 <a> 标签包装文本 url

sql - 删除名称中多余的中间空格 - SQL

php - PHP 文件中的大写链接

反转大小写的Java方法不会反转所有字母

javascript - 在悬停元素中覆盖悬停样式

r - 使用行/列索引对栅格进行子集

r - 在 R 中将大文件分区为小文件

r - 为什么 `[` 比 `subset` 更好?

MySQL 替换 unicode 字符