とびだせどうぶつの森用マイデザインツールではデザインの作者名や村名、タイトルを編集出来る様にしているが、ゲーム内では文字列内に使える数字は5つまでの制約がある。おそらく、電話番号や郵便番号等の個人情報を入れ込まない様にするための仕組みだと考えられる。
デザインツールでもそれにならい、数字が5つより多く入力されている場合、はじく様にしている。プログラムでは入力出来る文字列に制約をかける事が多々あるが、文字列の確認を行う際、正規表現を利用すると複雑なチェックも簡単に実現する事が出来る。
デザインツールで数字が5文字より多く入力されていないかチェックしているコードは下記である。
public boolean stringchecker(String text){ int lenbefore = text.length(); String strbuf = text.replaceAll("[0-90-9]",""); if (lenbefore - strbuf.length() > 5) return false; return true; }
まず、文字列の長さを取得し、その後正規表現で半角の0から9及び全角の0から9をnullに置換している。置換後再び文字数を取得し、置換前と比較すれば、その差が数字の文字数となる。
正規表現は奥が深く、理解し使いこなせる様になるまでが大変だが、プログラム以外でもExcelやWord、テキストエディタでのデータ整理にも使えるので、知っておいて損は無い(大量のログデータの整形や抽出にも使える)。