奇特なブログ

「殊勝に値する行いや心掛け」を意味する、奇特な人になる為のブログです

正規表現を用いた文字列の入れ替え方法

筆者は基本、いわゆるTipsの類は好きではないのですが、
全く書かないのもどうかと思い、書いてみたいと思いますw

で、今回の話ですが、以下の様な事をしたい時に使えます。

1.関数(メソッド)の引数の順番を入れ替えたい時
2.代入演算子の左辺と右辺の位置を逆にしたい時
3.メソッドを呼び出すオブジェクトとそのメソッドの引数の位置を逆にしたい時

あんまり無いんじゃないって意見もあるかと思いますが、
筆者の現実には存在したので(苦笑)

では、上記の3を実現する方法を書いてみます。
具体的には、以下の様な置換前と置換後の結果を得たいとします。

置換前

String str = "1";
if (str.equals("")) {

置換後

String str = "1";
if ("".equals(str)) {

上記を実現する為に、
テキストエディタサクラエディタでのみ確認済み)の置換機能で、
以下を入力して置換してみて下さい。

置換前

if \((.+)\.equals\((\".*\")

置換後

if \(\2\.equals\(\1

正規表現チェックボックスにチェックを入れる

ポイントは、正規表現内で「()」で囲まれている部分は、
「()の中のパターンに一致」すると、
一致した順に「\1、\2・・・」と展開されるって点です。

上記の3以外の実現方法は、
自分で応用してみると面白いと思います。
色々やってみないと、習得って中々出来ませんし。

参考:
http://hodade.adam.ne.jp/seiki/page.php?r_url_bunkai