2016-12-21 7 views
0

正規表現について質問があります。文RegEx。句読点文字の前の空白スペースを削除する方法

She was like an eating machine. ”Trump, a man who wants to be president: 

のこの部分は

になるはずです例えば、私は期間後にすべての空白を削除し、文字の前に」との文字を削除」したい私は、この文字列

"She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: " 

を持って

を仮定

She was like an eating machine.Trump, a man who wants to be president: " 

ありがとう、正規表現は学ぶのは簡単ではありません。助けをよろしく!さようなら psの私はソフトウェアRを使用していますが、私はすべてのプログラミング言語の正規表現作品

UPDATE

が、私は私の問題を解決し、私はそれを共有したいのですが、多分他の誰かを助けることができるので、それは無関係だと思います。私はカブグルからトランプとヒラールのツイートについてダウンロードしたこのデータセットを持っています。

Knime(大学でのプロジェクト)のデータをインポートする前に、いくつかのクリーニングを行う必要があります。 これ以外のすべてのエンコードの問題はgsubで解決しました。私は最終的にそれをUTF-8のエンコーディングでRでcsvファイルを書いて解決することができます。明らかに私はあなたがドットと巻き毛の二重引用符の間の空白の任意の数(1以上)と一致する必要がある場合

+0

はこれが助けることができるかもしれませ:ドットの後と引用符の前に任意の数のスペースを一致させるには、*数量詞使用 VAR strを=「彼女は食べるのマシンのようでした。 "トランプ、大統領になりたい男: ' str.replace(/ \。\ s"/g、 "。"); – Nitesh

+0

@Marco、私の答えはあなたのために働いたのですか? –

+0

はい、申し訳ありませんが、それも働いた。私はあなたの答えを最も役に立つとマークします;) –

答えて

4

、あなたが

x <- "She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: " 
gsub("\\.\\s+”", ".", x) 
## => [1] "She gained about 55 pounds in...9 months. She was like an eating machine.Trump, a man who wants to be president: " 

\\.使用することができ、同じエンコーディングでKNIMEでそのファイルを読みますドットに一致し、\\s+は1つ以上の空白記号に一致し、と一致します。

regex demoR demoを参照してください。

ドットと引用符の間の唯一の1定期的なスペースがある場合は、固定の文字列置換を使用することもできます。

gsub(". ”", ".", x, fixed=TRUE) 

this R demoを参照してください。

1

が、これは助けることができるかもしれませ:

var str = 'She was like an eating machine. "Trump, a man who wants to be president. "New value'; 
str.replace(/\.\s"/g,"."); 
0

http://regexr.com/は、正規表現を学習し、テストするための素晴らしいツールです。

Wiktorの回答に追加する唯一のことは、一致しないことです。"machine.”Trump"です。

x <- "She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: " 
gsub("\\.\\s*”", ".", x) 
+0

OPはRとregexrを使用しています。comはJS正規表現の味をサポートしています。正規表現ではうまく動作しませんが、Rでは動作しません。Rは、TRE正規表現のフレーバーを使用します(これについては、良いオンライン正規表現テスターはわかりません)。 PCRE( 'perl = TRUE'と一緒に使用する場合) - http://regex101.comははるかに良いオプションです。 –

+0

良い点.prereモードのhttps://regex101.com/はおそらくR-あなたのJSの例は、少し変更してperlモードを使ってRで動作させることができます: – blongworth

+0

'[。] [^] *?" 'はTRE' [。]。*? "'、 (?s)[。]。*? "' PCREの中で。 –

関連する問題