Regex删除R中除数字、字母和空格以外的所有内容
如何删除R中这些讨厌的反斜杠?我已经搜索了网络和stackoverflow,试图找到一种摆脱反斜杠的方法……运气不好 我尝试了很多不同的方法,但我认为我唯一能做的就是使用正则表达式和gsub()删除每个不是数字、字母或空格的字符。这是我的字符串:Regex删除R中除数字、字母和空格以外的所有内容,r,regex,R,Regex,如何删除R中这些讨厌的反斜杠?我已经搜索了网络和stackoverflow,试图找到一种摆脱反斜杠的方法……运气不好 我尝试了很多不同的方法,但我认为我唯一能做的就是使用正则表达式和gsub()删除每个不是数字、字母或空格的字符。这是我的字符串: "_kMDItemOwnerUserID = 99kMDItemAlternateNames = ( \"(500) Days of Summer (2009).m4v\")kMDItemAudioBitRate = 163kMDItemAud
"_kMDItemOwnerUserID = 99kMDItemAlternateNames = ( \"(500) Days of Summer (2009).m4v\")kMDItemAudioBitRate = 163kMDItemAudioChannelCount = 2kMDItemAudioEncodingApplication = \"HandBrake 0.9.4 2009112300\"kMDItemCodecs = ( \"H.264\", AAC, \"QuickTime Text\")"
正如你所看到的,它非常混乱,到处都是反斜杠和引号。最后,我想做的是提取电影名称:‘(500)天的夏天(2009)’
除了数字、字母和空格之外,什么是可以匹配所有内容的正则表达式
事先非常感谢您的帮助
gsub("[^[:alnum:] ]", "", x)
尝试替换字符类[^[:alnum:]
,该类将匹配任何非字母、数字或空格的字符:
完整代码:
x <- "_kMDItemOwnerUserID = 99kMDItemAlternateNames = ( \"(500) Days of Summer (2009).m4v\")kMDItemAudioBitRate = 163kMDItemAudioChannelCount = 2kMDItemAudioEncodingApplication = \"HandBrake 0.9.4 2009112300\"kMDItemCodecs = ( \"H.264\", AAC, \"QuickTime Text\")"
gsub("[^[:alnum:] ]", "", x)
[1] "kMDItemOwnerUserID 99kMDItemAlternateNames 500 Days of Summer 2009m4vkMDItemAudioBitRate 163kMDItemAudioChannelCount 2kMDItemAudioEncodingApplication HandBrake 094 2009112300kMDItemCodecs H264 AAC QuickTime Text"
x您从哪里获取此字符串?这似乎是一个错误。如果输入字符串是标准格式,请使用适当的解析器,而不是使格式无效。感谢您的反馈。我本可以提供更多的背景,但我只需要这个具体的答案。如果我能得到这个答案,我更大的项目就会成功。为了回答您的问题,这个字符串来自shell命令mdls,它提取与文件相关的所有元数据。太棒了——正是我要找的!非常感谢。