2015-08-24 46 views
0

字符串我有格式数据如何替换“|”从R中

"TGXENG0002|Tenchi Muyo! GXP|2|Invasion|Non-Subscriber||Roku|US" 

现在我要算发生"|",然后用一个空白

rokujune$pipecnt_1 <- gsub(pattern="|",replacement="",x = rokujune$Event_Label) 
我已经使用这个代码

替换它,它不工作。任何人都可以指出我的理由和可能的解决方案吗?

而对于发生的次数,我尝试了下面的代码

rokujune$new<- str_count(rokujune$Event_Label,"|") 

这也不起作用。

回答

2

你忘了逃避角色。

gsub(pattern="\\|", replacement="", x=rokujune$Event_Label) 

所有正则表达式语言都有一些特殊符号集,它们被解释为指令而不是文本字符。如果您需要将这种符号解释为文本字符,则必须通过添加转义序列来避免符合正则表达式模式中的符号。

+3

或者只是使用'固定= TRUE' –

+0

添加“\\”没有解决我的问题,但是,你可以给我解释一下你是怎么通过转义字符的意思?? – pranav

+1

请阅读'?regex',尤其是“元字符”部分。正则表达式使用一些存储的字符来运行不同的操作,并且你需要告诉它你不想运行这个特定的操作,而是找到那个实际的字符。 –

0

对于发生的次数,试试这个:

nchar(gsub('[^|]','',rokujune$Event_Label)) 
[1] 7