正在删除“*”之后的所有内容



我想知道如何删除数据中*之后的所有内容。我有一些值,比如:IGHV4-59*01IGHV4-4*02,只想要IGHV4-59IGHV-4。我尝试使用潜艇,但没有得到想要的结果:

sub("*.*" , " ", data_head$v_segment)
## [1] " " " " " " " " " " " "

它没有删除*之后的所有内容,而是完全删除了所有内容。谢谢

试试这个。基本上,*是正则表达式中的一个元字符,因此,如果希望引擎将其视为实际的标点符号,则需要对其进行转义。

gsub("\*.*", "", c("IGHV4-59*01", "IGHV4-4*02")) # You can use `sub` too as per comment
## [1] "IGHV4-59" "IGHV4-4" 

正则表达式失败,因为*是正则表达式中的一个特殊字符,即使前面没有其他字符。因此需要对其进行转义。"\*.*"是您想要的模式。

它没有按预期工作,因为您需要转义*以匹配文字。

sub("\*.*", "", data_head$v_segment)

最新更新