JAVA共通関数--文字列中の文字列を任意の文字列に変換する

文字列中の文字列を任意の文字列に変換する
文字列の中身をある特定の文字列で置き換えたい場合がありますね。"ABC"→"EFG"とか・・・
普通の言語であれば何なく出来そうなのですが、Javaには簡単なReplaceメソッドがありません。(涙)
SrringクラスのReplaceはなんとChar置き換えなのです。(置き換え対象が1文字のみ)
で、"ABC"→"EFG"とやる為には、こんなことしなければならないのです。 

/*********************************************************************************************************/
  /**
   *  文字列中の文字列を任意の文字列に変換する
   *  @param    firstString    String      文字列;
   *  @param    taisyoString   String      対象文字列;
   *  @param    henkanString   String      変換文字列;
   *  @return   afterString    String      変換後の文字列;
   */
  public static String isReplace(String firstString ,String taisyoString,String henkanString) throws Exception
  {
    try{
      //文字列がnullの場合、そのまま返す
      if(firstString == null){
        return firstString;
      }
      //文字列が""の場合、そのまま返す
      if(firstString.equals("")){
        return firstString;
      }
      //対象文字列がnullの場合、そのまま返す
      if(taisyoString == null){
        return firstString;
      }
      //対象文字列が""の場合、そのまま返す
      if(taisyoString.equals("")){
        return firstString;
      }

      //文字列の整形を行う
      String afterString = "";
      //対象文字列を判断しCRLFなどの改行コードを考慮してインプリメントするポインタ数を制御する。
      int plusPoint = taisyoString.length();
      int startPoint = 0;
      int endPoint   = firstString.indexOf(taisyoString, startPoint);

      //文字列に対象文字列がない場合、そのままの文字列を戻す
      //文字列に対象文字列がある間、以下の処理を繰り返す
      while (endPoint != -1){
        //文字列から対象文字列を元に検索行い変換文字列に置換する。
        afterString = afterString + firstString .substring(startPoint, endPoint) + henkanString;
        startPoint  = endPoint + plusPoint;
        endPoint    = firstString .indexOf(taisyoString, startPoint);
      }
      afterString = afterString + firstString .substring(startPoint);
      return afterString;
    }catch(Exception ex){
      throw ex;
    }
  }
/**********************************************************************************************/

转载于:https://www.cnblogs.com/aggavara/archive/2012/10/09/2716138.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值