Java正規表現フォーマット文字列(正規一致置換)

3449 ワード

JavaScriptフォーマット文字列関数パッケージは最近javaプロジェクトを行う際にも類似の文字列動的フォーマットの需要があるため、js方法の考え方と照らし合わせてjava版を実現する.主にStringを使います.JAvaのreplaceAll(String regex,String replacement)メソッド.
1.用途
テンプレート文字列を事前に定義する必要がある場合、フォーマット時に動的なパラメータで文字列を生成する方法.
  • 文字列テンプレート:this is{0}template{1},{2}
  • は、{0}{1}{2}これらのプレースホルダを動的に埋め込む必要がある.

  • 2.方法パッケージ
    private String getFormatText(String str, String[] paramAry) {
            //       
            for (int i = 0; i < paramAry.length; i++) {
                str = str.replaceAll(String.format("\\{%d\\}", i), paramAry[i]);
            }
        return str;
    }
    

    3.使用
  • 呼び出しと参照
  • String str = "this is {0} template {1}, {2}";
    String[] paramAry = new String[]{"a", "text", "right!"};
    System.out.printf(getFormatText(str, paramAry));
    
  • 結果
  • this is a template text, right!