code: private String trim(final String str) {
  
          final int length = str.length();
          if(length == 0) {
              return str;
          }
  
          if(leftAlign) {
              if(str.charAt(0) != trimChar) {
                  // 左端がトリム対象の文字出ない場合、処理終了
                  return str;
  
              }
  
              // 左側から、trimCharに一致しない位置を探す
              for(int i=0; i < length; i++) {
                  char c = str.charAt(i);
                  if(c != trimChar) {
                      return str.substring(i);
                  }
              }
  
              // 全ての文字がトリム対象の場合
              return "";
  
          } else {
              if(str.charAt(length - 1) != trimChar) {
                  // 右端がトリム対象の文字出ない場合、処理終了
                  return str;
  
              }
  
              // 右側から、trimCharに一致しない位置を探す
              for(int i=length - 1; i >= 0; i--) {
                  char c = str.charAt(i);
                  if(c != trimChar) {
                      return str.substring(0, i + 1);
                  }
              }
  
              // 全ての文字がトリム対象の場合
              return "";
  
          }
  
      }
docs: 文字をトリミングする
  @param str トリミング対象の文字
  @return トリムした結果