正規表現を使用して文字を大文字に変換する(EditPad Pro)


159

すべての一致(つまり1文字)を大文字に置き換えることができることを期待して、正規表現を作成しました。私はEditPad Proを使用しています(ただし、1回だけ実行する必要があるため、無料で試すことができる限り、これを可能にする他のツールを使用してもかまいません)。

背景:大文字と小文字を区別するアプリケーションで使用される非常に長いテキストファイルがあり、一部の単語が大文字ではなく小文字で始まるため、アプリケーションがクラッシュします。これを手作業で行うには非常に時間がかかります。また、(悪)小文字のcharの発生は非常に特殊であるため、正規表現なしで行うのはかなり複雑になります。

select正規表現を作成しましたが、これを後方参照で使用できます($ 1は問題なく動作します)が、大文字のcharで置き換えることはできません。\ u $ 1のようなものが機能すると思いましたが、EditPad Proでは機能しません。

これを行うことができる無料のツールがない場合は、代わりにC#でそれを行うこともできますが、コンパイラの近くではなく、少し急いでいるので、最初にExpress Editionをダウンロードする必要があります。 ...そのような機能をサポートするツールを見つけることが望ましいでしょう!

ありがとうございました!


3
この質問はスーパーユーザーに適していますか?
georgiecasey 2012

回答:


272

TextPadを使用すると、この操作を実行できます。

例:

test this sentence

何を見つける:\([^ ]*\) \(.*\) 置換:\U\1\E \2

これ\Uにより、後続のすべての文字が上位になります

\Eオフになります\U

結果は次のようになります。

TEST this sentence

13
.NET Regexで(を使用せずにToUpper)この操作を実行する方法はありますか?
Shimmy Weitzhandler、2011年

34
notepad ++でも動作します。
Shawn

33
\U$1\E崇高テキスト
QWERTY配列の

10
\U\1\EVim
J. Katzwinkel

6
PHPStormでも動作します。私は逆の要件も持っていました。すべての大文字の属性値(おそらく90年代のHTMLから)を小文字に置き換える必要がありました。使用して\L$1\E働いた。
Ejaz

30

私はこのスレッドがEditPad Proについてのものであることを知っていますが、JavaScript正規表現で同じニーズがあったため、ここに来ました。

同じヒントが必要な人のために、関数またはラムダをreplace引数として使用できます。

以下の関数を使用して、CSS名を-JavaScriptの同等の"border-top"ものに変換し"borderTop"ます。たとえば、に変換されます:

    s = s.replace(/\-[a-z]/g, x => x[1].toUpperCase());

26

EditPad ProとPowerGREPには、後方参照の大文字と小文字を変更できる独自の機能があります。 \U1最初の後方参照を大文字、\L1小文字 \F1、最初の文字を大文字、残りを小文字で挿入します。最後に、\I1各単語の最初の文字を大文字にし、他の文字は小文字で挿入します。

出典:Goyvaerts、Jan(2006)。正規表現:完全なチュートリアル。Lulu.com。p。35。ISBN1411677609。Googleブックス。2010年6月25日に取得。


6

これを行うには、jEditの検索と置換ダイアログの「BeanShellスニペットの戻り値」オプションを使用します。(引用符なしで)検索し" [a-z]"て置き換えるだけです" _0.toUpperCase()"


1
あなたの回答は、最初の質問とは実際には関係ありませんが、グーグルで見つけたので、まさに私が探していたものでした。素晴らしいです、ありがとう!
adietisheim 2012

5

\I1andの\I2代わりに$1and などを使用して、一致の最初の文字を大文字にすることもでき$2ます。


1

ただ、メモ帳++のための別のussage例(正規表現検索モード)

Find: (g|c|u|d)(et|reate|pdate|elete)_(.)([^\s (]+)
Replace: \U\1\E$2\U\3\E$4

例:

get_user -> GetUser
create_user -> CreateUser
update_user -> UpdateUser
delete_user -> DeleteUser
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.