我有这个字符串:
“ [DELW] [0x00] [BKSP] [0x00] [0x12] [0xE0] [0xF0] [0xEF] [DOWN] [UP] asdkjaosdkj [ENTER]”
我想删除所有从[0x00],[0xF0]之类的数字开始的键盘标签(在方括号中)。
最终结果将是:“ [DELW] [BKSP] [DOWN] [UP] asdkjaosdkj [ENTER]”
我考虑过使用str_replace,但是很难找到可以正常工作的正则表达式。我真的很感谢所有帮助。谢谢!
答案 0 :(得分:2)
如果要删除的内容始终为0x
和两个十六进制数字,则:
> gsub("\\[0x..\\]","",s)
[1] "[DELW][BKSP][DOWN][UP]asdkjaosdkj[ENTER]"
请注意,停止\
所需要的[]
是特殊的,而\\
则是将真实的反斜杠转换为R字符串。
如果您要插入stringr
包,则可以使用相同的模式进行操作:
> stringr::str_replace_all(s, "\\[0x..\\]","")
[1] "[DELW][BKSP][DOWN][UP]asdkjaosdkj[ENTER]"
但是base::gsub
使事情变得轻松。
答案 1 :(得分:0)