1

ファイル名の空白、ハイフン、アンダースコア、および %20 を検索する正規表現があります。

/\s+|-+|_+|%20+/gi

ファイル名にハイフン etch が含まれている場合、それらはスペースに変換されます。延長は気にしない

  • this-is_my%20file­which-is-an_image

に変更されます

  • これは画像である私のファイルです

それは正常に動作しますが、ケース OR ケース OR ケース メソッドを使用することが正しい方法であるかどうかはわかりません。また、上記はソフトハイフンと一致しませんが、その方法がわかりません。乾杯。

4

3 に答える 3

3

ユースケースによって少し異なります。

すべての空白を単一のダッシュに置き換えたい場合。と"abc_-def"なり"abc-def"ます。この場合、現在の正規表現が"abc--def"代わりに与えられます。

これを修正するには、次+のようにを移動します。

"abc-_def".replace(/([\s\-_]|%20)+/gi, "-"); // "abc-def"
于 2012-11-29T17:18:10.783 に答える
2

次のように短いバージョンを使用できます。

/(\s|-|_|%20)+/gi
于 2012-11-29T17:18:34.233 に答える
1

ここで、いくつかのコンテキストが必要になります。ファイル名にそれらのいずれかが含まれているかどうかを確認したいだけの場合は、次を使用します。

/\s|\-|%20/

ファイル名にそれらのいずれかが含まれている場合は true を返し、含まれていない場合は false を返します。

それ以上のものが必要な場合は、それが何のために必要なのかをお知らせください。それらを別のものに置き換えますか?それらがすべて存在する場合、true を返しますか?

編集: 質問を編集しました。ありがとうございます。あなたのやり方は大丈夫です、はい。

于 2012-11-29T17:15:18.013 に答える