2017-03-16 11 views
0

Rでこれらの厄介なバックスラッシュを削除するにはどうすればよいですか?私はバックスラッシュを取り除く方法を見つけることを試みるためにウェブとstackoverflowを洗った。正規表現で数字、文字、スペース以外のすべてを削除する

私は多くの方法を試しましたが、私が働くことができるのは、正規表現とgsub()を使用して数字、文字またはスペース以外のすべての文字を削除することだけです。ここに私の文字列があります:

"_kMDItemOwnerUserID = 99kMDItemAlternateNames = (\"(500) Days of Summer  (2009).m4v\")kMDItemAudioBitRate = 163kMDItemAudioChannelCount =  2kMDItemAudioEncodingApplication = \"HandBrake 0.9.4 2009112300\"kMDItemCodecs =  (\"H.264\", AAC, \"QuickTime Text\")" 

わかりますように、バックスラッシュと引用符はすべてあちこちにあります。最終的に、私がしたいのは映画の名前を抽出することです:「(500)Days of Summer(2009)」。

数値、文字、スペース以外のすべてに一致する正規表現とは何ですか?

ご協力いただきありがとうございます。

+0

をからの文字列?これは[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のようです。入力文字列が標準形式の場合は、形式を無効にするのではなく、適切なパーサーを使用します。 – 4castle

+0

ご意見ありがとうございます。より多くの文脈を与えることができましたが、私はこの特定の答えが必要でした。私がこの答えを得ることができれば、私のより大きなプロジェクトはうまくいくでしょう。あなたの質問に答えるために、文字列はファイルに関連するすべてのメタデータを抽出するシェルコマンドmdlsから来ます。 – tsouchlarakis

答えて

1
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" 
+0

Wonderful - 私が探していたもの!ありがとうございました。 – tsouchlarakis

関連する問題