NP ++で正規表現を記述して_under_score_case
_を見つけることができます。 NP ++でTextFXを使用して、強調表示して選択することにより、大文字と小文字を大文字と小文字に変更できます。
NP ++の検索/置換またはTextFXの検索と置換を使用してこれらを結合し、_under_score_case
_をcamelCase
に変換するにはどうすればよいですか?
スクリプトを使用せずにNP ++でこれを行う方法を学びたいです。
入力例:
_this is_a_line
some more_data_over_here
whoop de_do_da
_
望ましい出力:
_this isALine
some moreDataOverHere
whoop deDoDa
_
アンダースコアに一致する正規表現は_([a-z])
です。存在すると思いますが、見つからない置換は__\toupper\1
_のようなものです。
私は長く複雑な解決策を持っていますが、Notepad ++で動作します。正規表現、オプションで通常の検索と置換、およびTextFXを使用する必要があります。
Z
を選択しました。おそらくアルファベット順である必要はありませんが、最後のステップの方が簡単です。正規表現を使用して、\<([^ ]*)\>
を検索し、_Z\1
_に置き換えます。TextFX Characters -> Proper Case
_を選択します。\<Z([^ ]*)\>
を検索し、_\1
_に置き換えます。単純な検索/置換は、NP ++でこれを実行します。
検索:[_]{1,1}([a-z])
置換:\U$1
これを機能させるには、[置換]パネルで[正規表現]ラジオボタンを選択する必要があります。
私は通常、vimをエディターとして使用しています。次の正規表現は、vimで実行しようとしていることを実行します。
%s/_\([a-zA-Z]\)/\u\1/g
私が知ることができること(私は少しNP ++をいじりました)から、Notepad ++はPerl Regexpの大文字マクロ\u
を理解しません。 Notepad ++でこれを完全に行うことができない場合があります。うまくいけば、誰かが私を間違って証明してあなたの一日を過ごすでしょう。
これは、notepad ++の1つのステップで行うことができます。
Find: ([a-z]+)[_]?([a-z]?)([a-z]+)[_]?([a-z]?)([a-z]+)[_]?([a-z]?)([a-z]+)\.php
Replace: $1\U$2\L$3\U$4\L$5\U$6\L$7
これに関する唯一の問題は、アンダースコアが存在できる最大時間と文字列の終了方法を知る必要があることです。上記の例では、phpファイル名をcamelCaseに置き換えていますが、アンダースコアが3回を超えて存在することはできないため、問題はありません。
ヘビのケースを変換する以下の手順に従って、Notepad ++を使用してこれを行うことができます。
まだ小文字でない場合は、ヘビの入力をすべて小文字に変換します
_([a-z])
OR _(.)
を探します\u\1
入力で置換私の個人的なお気に入りはsedです。それは電光石火です:
>エコーmake_me_camel_case_please | sed -e 's /(_ [a-z])/\U\1/g' -e 's/_ // g'
makeMeCamelCasePlease
-iオプションを使用して、編集中のファイルに対して置換を実行すると、N ++が変更を反映します。
これにより、上記のソリューションと同様に、すべての下線が削除されます。これが問題である場合、それは修正できます。
Notepad ++ 7.3を使用しています。私は同じ問題を抱えていて、次のことをしました:
そして働いた!