Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次の文字列のリストがあります。
name <- c("hsa-miR-555p","hsa-miR-519b-3p","hsa-let-7a")
私がやりたいことは、上記の文字列のそれぞれについて、2 番目の区切り文字 (-) の後のテキストを「zzz」に置き換えることです。収量:
hsa-miR-zzz hsa-miR-zzz hsa-let-zzz
それを行う方法は何ですか?
おそらく次のようなものです:
> gsub("([A-Za-z]+-)([A-Za-z]+-)(.*)", "\\1\\2zzz", name) [1] "hsa-miR-zzz" "hsa-miR-zzz" "hsa-let-zzz"
実際には、式が実際にどの程度「正規」であるかに応じて、これにアプローチする方法がいくつかあります。たとえば、それらはすべて「hsa-」で始まりますか? 「中間」グループのオプションは何ですか? 3 つ以上のダッシュがある可能性がありますか?