2016-07-15 7 views
-4

私はAtomでテキストを編集しています。 正規表現$\sから、の2番目の空白スペースの後ろに私の選択肢をアンカーする方法を見つけることができませんでした。行。行の最後の文字の後の最初のスペースを除く末尾の空白を選択する正規表現

テキストファイル(元は.srtビデオトランスクリプトとしてフォーマットされています)で何千もの改行を取り除き、すべての単語を結合しないように1つの空白スペースに置き換えます。

例えば、私のファイルは次のようになります。

This content is 

difficult to read 

because the lines 

break after too 

few characters. 

$\sすべて末尾の空白を選択します、私は正規表現によって選択されたすべてのスペースを削除した場合ので、私は、したくない何か私はたくさんの言葉をナンセンスに参加させます。

私が期待される出力になるように、空白ではなく、最初から各行の末尾の空白をトリミング開始したい:

ラインが壊れているため、「このコンテンツは読みにくいですあまりにも多くの文字の後に。

の代わりに:

"toofew文字の後にlinesbreakをreadbecauseするこのコンテンツは困難であっ。"

+1

テキストの例を教えてください。 – buld0zzr

+0

あなたは[mcve] –

+0

を提供する必要があります。 '$'はゼロの幅のアサーションです。 '(?m)$ \ s'では、改行または' \ r'にのみ一致します。 '$ [\ r \ n] + \ s'のような複数行のフラグが必要です。あるいは '$ \ R + \ h'(メモ帳++の場合)でも可能です。 –

答えて

0

私はMS Wordの検索と置換を使用してこの問題を解決しました。すべてのハードリターン(空白文字を一度押す)で1つのスペースを置き換えます(Findフィールドに^pと入力してください)。

なぜAtom正規表現エンジンがregex101.comからのコメントで提供された答えを認識していないのか分かりませんか?これは、私の問題をregex101テスターで解決します。