如何搜索多个字符串并将其替换为字符串列表中的任何内容

use*_*rJT 12 string r

我在数据框中有一个列,如下所示:

npt2$name
#  [1] "Andreas Groll, M.D."
#  [2] ""
#  [3] "Pan-Chyr Yang, PHD"
#  [4] "Suh-Fang Jeng, Sc.D"
#  [5] "Mostafa K Mohamed Fontanet Arnaud"
#  [6] "Thomas Jozefiak, M.D."
#  [7] "Medical Monitor"
#  [8] "Qi Zhu, MD"
#  [9] "Holly Posner"
# [10] "Peter S Sebel, MB BS, PhD Chantal Kerssens, PhD"
# [11] "Lance A Mynderse, M.D."
# [12] "Lawrence Currie, MD"
Run Code Online (Sandbox Code Playgroud)

我试过gsub但没有运气.在做之后,toupper(x)我需要用什么都不替换'MD'或'MD'或'PHD'的所有实例.

有一个很好的简短技巧吗?

事实上,我有兴趣看到它在一个字符串上完成,并且在整个列表中的一个命令中完成的方式有多么不同.

42-*_*42- 25

这些都是:

gsub("MD|M\\.D\\.|PHD", "", test)  # target specific strings
gsub("\\,.+$", "", test)        # target all characters after comma
Run Code Online (Sandbox Code Playgroud)

上面的Matt Parker和下面的Tommy都提出了"MRCP","PhD","D.Phil"的问题.和'博士' 或者应该寻找和删除其他英国或大陆的博士学位.也许@ user56可以告知意图是什么.

  • OP中的元素10有两个带有PhD的名称,因此需要`gsub`. (2认同)