2016-07-25 3 views
-6
の後の文字

これは正規表現の専門家にとっての質問です。なぜならそれはあまり洞察力がないからです。" - "の正規表現と

それは、C#ではなく、Java固有のもので、ファイルの名前を変更する1つのアプリケーションに入れる必要がある一般的な正規表現です。

基本的に私はこのようなフォルダの構造を持っています。

1 - I went to the cinema 1 
    I went to the cinema 1 - movie title 1 
    I went to the cinema 1 - movie title 2 
    I went to the cinema 1 - movie title 3 
    I went to the cinema 1 - movie title 4 

2 - I went to the cinema 2 
3 - I went to the cinema 3 

" - "の後にあるテキストは、すべてが前のものが親フォルダ名であるため、かなり返す式が必要です。

簡単な質問かもしれませんが、私はいくつかの検索を行いましたが見つかりませんでした。

おかげ

+3

を参照してください、あなたは「のための正規表現 『で検索 - ?』の後に文字」と何のポストは、まさにその質問に答えなかった後、あきらめた – Tomalak

+0

はい私は、スペースハイフンスペースのためにそれらのどれも動作しないと思います – anotherNeo

+2

これは私の問題ではありません。私のポイントは、これは非常に貧弱な問題解決テクニックです。あなた自身が*あなた自身でそれを働かせることができます。Googleはコピーして貼り付けて、すぐには動作しない場合は放棄してください。単にStackOverflowに切り替えて、誰かがコピー&ペーストできるものを書き込めるようにしてください。 Jeez、これは本当に私の歯車を粉砕する。 – Tomalak

答えて

1

あなたは正規表現-(.*)を使用することができますが、以来、live demo

+0

HI Thomas。 ありがとうございます。それはそこで働く。 バルクリネームユーティリティと呼ばれる1つのアプリケーションで、REGEXに基づいてファイル名を変更しようとしていますが、そこでは動作しないアプリケーション固有のものでなければなりません。あなたのライブデモでうまく動作します。 – anotherNeo

+0

問題を解明しました。 regexesとは関係ありませんでした。 正規表現を置き換えるには、Bulk Rename Utilityに\ 1のような識別子が必要なので、私はその正規表現をprevioslyしようとしましたが、動作しませんでした。これは、複数の正規表現を使用できるためです。私はタイトルを編集させてください、多分誰かを助けるでしょう – anotherNeo

0

あなたは、単純な正規表現を使用することができます参照してください「 - 」文字は角括弧の外に使用される特殊文字ではありません。

これは使用できます- *(.*) これはThomas Ayoubの答えによく似ていますが、後のスペースには興味がないと思います。

空白が常に存在することを確信していて、予想外の結果を出すために文字列内の他の " - "を避けたい場合は、これを使用できます:- (.*)( " - "ので、それは後に、すべてのテストを微ます「 - 」

が真剣live demo