当前位置:  开发笔记 > 编程语言 > 正文

替换R中的子串

如何解决《替换R中的子串》经验,为你挑选了1个好方法。

我有一个字符串列表,我必须将某个子字符串从caps更改为lowcaps.如何在R中有效地实现这一点?

这是一个子列表:

>head(ID)

"1007_PM_S_AT"
"1053_PM_AT"  
"117_PM_AT"   
"121_PM_AT"    
"1255_PM_G_AT" 
"1294_PM_AT" 

我需要在PM之后将所有内容更改为小写.



1> Stedy..:

一种选择是包裹tolower()一个sub()电话

R> test <- c("1007_PM_S_AT", "1053_PM_AT", "117_PM_AT", "121_PM_AT", "1255_PM_G_AT", "1294_PM_AT")
R> sub("pm", "PM", tolower(test))
[1] "1007_PM_s_at" "1053_PM_at"   "117_PM_at"    "121_PM_at"    "1255_PM_g_at" "1294_PM_at"  

可能有用的另一种替代方案(可能不太好)是使用替换功能regmatches<-.

matches <- gregexpr('(?<=PM)(.+)', test, perl=TRUE)              # match the string after PM
regmatches(test, matches) <- tolower(regmatches(test, matches))  # replace with lower case

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有