Class StringEfficient

java.lang.Object
io.github.enxign.core.shed.StringEfficient

public class StringEfficient extends Object
StringEfficient This class provides methods for efficient string processing, including null handling, padding, splitting, and character encoding.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    arrayTo(String[] asSrc, String sDelimiter)
    문자배열을 문자열로 구분자를 넣어서 변환 문자열 배열의 길이가 0이면 빈 문자열을 반환 문자열 배열의 길이가 1이면 해당 문자열을 반환 문자열 배열의 길이가 2 이상이면 각 문자열 사이에 구분자를 넣어서 반환 구분자는 빈 문자열이 아니어야 함.
    static String
    arrayTo(String[] asSrc, String sRegex, int iValPos, String sDelimiter, String sQuot)
    배열을 문자열로 변환
    static String
    blank2Null 문자열이 null 또는 빈 문자열이면 null로 변환
    static void
    charsetTest 주어진 문자열(sSrc)을 다양한 문자셋으로 변환하여 출력 문자열이 null 또는 빈 문자열이면 아무 작업도 하지 않음 다양한 문자셋(EUC-KR, KSC5601, ISO-8859-1, ASCII, UTF-8, x-windows-949)으로 변환하여 출력
    static String
    cut(String sSrc, int ilen)
    cut 대상 문자열을 주어진 길이(ilen)만큼 잘라서 반환 문자열이 null 또는 빈 문자열이면 null 반환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 잘라서 반환
    static int[]
    findPos(String[] asSrc, String sFind)
    findPos 대상 문자열 배열에서 주어진 문자열(sFind)이 포함된 위치를 찾아서 반환 대상 문자열 배열이 null 또는 길이가 0이면 null 반환 주어진 문자열이 포함된 위치를 int 배열로 반환 포함된 위치가 없으면 빈 int 배열을 반환
    static String
    입력된 문자열이 수학공식에 맞게 변환 수학공식에 맞는 문자만 남기고 나머지는 제거 수학공식에 맞는 문자는 다음과 같다
    static String
    inDelimFor(String sSrc, int iInterval, String sDelim, boolean bTrim)
    inDelimFor 대상 문자열에 간격마다 구분자를 추가 처리 방향 : 정방향(시작 -> 끝)
    static String
    inDelimRev(String sSrc, int iInterval, String sDelim, boolean bTrim)
    inDelimFor 대상 문자열에 간격마다 구분자를 추가 처리 방향 : 정방향(시작 -> 끝) 대상 문자열이 null 또는 빈 문자열이면 null 반환 간격(iInterval)이 1보다 작으면 null 반환 구분자(sDelim)가 null 또는 빈 문자열이면 null 반환
    static boolean
    대상 문자열의 숫자 여부 반환 문자열이 null 또는 빈 문자열이면 false 반환 문자열이 숫자만으로 구성되어 있으면 true 반환 문자열이 숫자가 아닌 문자가 포함되어 있으면 false 반환 문자열이 음수(-)로 시작하는 경우에도 true 반환 예) "123", "-456", "7890" => true 예) "12a3", "4-56", "78 90" => false
    static String
    lpad(String sSrc, int ilen, String sPadStr)
    lpad 대상 문자열을 왼쪽에 주어진 길이(ilen)만큼 채움 문자열이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 sPadStr로 채움 sPadStr이 null이면 빈 문자열로 변환
    static String
    null2Blank 문자열이 null이면 빈 문자열로 변환
    static String
    padStr(String sSrc, int ilen, String sPadStr, boolean isPostion)
    주어진 길이 (len)만큼 문자열(padStr)을 채움 문자열이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 padStr로 채움 padStr이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 작으면 padStr을 앞 또는 뒤에 붙임 isPostion이 true이면 padStr을 앞에 붙이고, false이면 뒤에 붙임 * 예) padStr("abc", 5, "*", true) => "**abc" * 예) padStr("abc", 5, "*", false) => "abc**"
    static String
    rpad(String sSrc, int ilen, String sPadStr)
    rpad 대상 문자열을 오른쪽에 주어진 길이(ilen)만큼 채움 문자열이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 sPadStr로 채움 sPadStr이 null이면 빈 문자열로 변환
    static String[]
    split(String sSrc, int iVolume, boolean bUseless)
    split 분리 대상 문자열을 iCapacity 길이로 분리하여 문자열 배열로 반환.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • StringEfficient

      public StringEfficient()
  • Method Details

    • null2Blank

      public static String null2Blank(String sSrc)
      null2Blank 문자열이 null이면 빈 문자열로 변환
      Parameters:
      sSrc - 대상 문자열
      Returns:
      빈 문자열 또는 대상 문자열
    • blank2Null

      public static String blank2Null(String sSrc)
      blank2Null 문자열이 null 또는 빈 문자열이면 null로 변환
      Parameters:
      sSrc - 대상 문자열
      Returns:
      null 또는 대상 문자열
    • arrayTo

      public static String arrayTo(String[] asSrc, String sRegex, int iValPos, String sDelimiter, String sQuot)
      배열을 문자열로 변환
      Parameters:
      asSrc - 배열값
      sRegex - 배열 문자열을 분리 할 기준 문자
      iValPos - 분리된값중 사용될 배열 인덱스
      sDelimiter - 분리된 값에 구분자로 붙이는 문자
      sQuot - 결과값에 인용부호('따옴표, "쌍따옴표)로 붙이는 문자
      Returns:
      문자열 결과값
    • arrayTo

      public static String arrayTo(String[] asSrc, String sDelimiter)
      문자배열을 문자열로 구분자를 넣어서 변환 문자열 배열의 길이가 0이면 빈 문자열을 반환 문자열 배열의 길이가 1이면 해당 문자열을 반환 문자열 배열의 길이가 2 이상이면 각 문자열 사이에 구분자를 넣어서 반환 구분자는 빈 문자열이 아니어야 함. 구분자는 문자열이 아닌 문자로만 가능 예) 콤마(,), 세미콜론(;), 공백( ), 탭(\t) 등
      Parameters:
      asSrc - 문자열 배열
      sDelimiter - 구분자
      Returns:
      문자열
    • getFormula

      public static String getFormula(String sSrc)
      입력된 문자열이 수학공식에 맞게 변환 수학공식에 맞는 문자만 남기고 나머지는 제거 수학공식에 맞는 문자는 다음과 같다. () * + - . / 0 ~ 9 % 문자는 /100으로 변환 예) 1+2*3-4/5.6%7.8 => 1+2*3-4/5.6/1007.8
      Parameters:
      sSrc - 변환할 문자열
      Returns:
      변환된 문자열
    • isNumeric

      public static boolean isNumeric(String sSrc)
      대상 문자열의 숫자 여부 반환 문자열이 null 또는 빈 문자열이면 false 반환 문자열이 숫자만으로 구성되어 있으면 true 반환 문자열이 숫자가 아닌 문자가 포함되어 있으면 false 반환 문자열이 음수(-)로 시작하는 경우에도 true 반환 예) "123", "-456", "7890" => true 예) "12a3", "4-56", "78 90" => false
      Parameters:
      sSrc - 대상 문자열
      Returns:
      숫자 여부
    • split

      public static String[] split(String sSrc, int iVolume, boolean bUseless)
      split 분리 대상 문자열을 iCapacity 길이로 분리하여 문자열 배열로 반환. 분리 대상 문자열이 null 또는 빈 문자열이면 null 반환 분리 크기(iVolume)가 1보다 작으면 null 반환 분리 대상 문자열이 제어문자(\r\n\t\f)를 제거할지 여부에 따라 제어문자를 제거하지 않으면 제어문자가 포함된 문자열 배열을 반환 제어문자를 제거하면 제어문자가 제거된 문자열 배열을 반환
      Parameters:
      sSrc - 분리 대상 문자열
      iVolume - 분리 크기
      bUseless - 제어문자(\r\n\t\f) 제거 여부.
      Returns:
      분리된 문자열 배열
    • padStr

      public static String padStr(String sSrc, int ilen, String sPadStr, boolean isPostion)
      주어진 길이 (len)만큼 문자열(padStr)을 채움 문자열이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 padStr로 채움 padStr이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 작으면 padStr을 앞 또는 뒤에 붙임 isPostion이 true이면 padStr을 앞에 붙이고, false이면 뒤에 붙임 * 예) padStr("abc", 5, "*", true) => "**abc" * 예) padStr("abc", 5, "*", false) => "abc**"
      Parameters:
      sSrc - 대상 문자열
      ilen - 주어진 길이
      sPadStr - 채울 문자열
      isPostion - 채울 위치(true:앞, false:뒤)
      Returns:
      채운 문자열
    • lpad

      public static String lpad(String sSrc, int ilen, String sPadStr)
      lpad 대상 문자열을 왼쪽에 주어진 길이(ilen)만큼 채움 문자열이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 sPadStr로 채움 sPadStr이 null이면 빈 문자열로 변환
      Parameters:
      sSrc - 대상 문자열
      ilen - 주어진 길이
      sPadStr - 채울 문자열
      Returns:
      채운 문자열
    • rpad

      public static String rpad(String sSrc, int ilen, String sPadStr)
      rpad 대상 문자열을 오른쪽에 주어진 길이(ilen)만큼 채움 문자열이 null이면 빈 문자열로 변환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 sPadStr로 채움 sPadStr이 null이면 빈 문자열로 변환
      Parameters:
      sSrc - 대상 문자열
      ilen - 주어진 길이
      sPadStr - 채울 문자열
      Returns:
      채운 문자열
    • cut

      public static String cut(String sSrc, int ilen)
      cut 대상 문자열을 주어진 길이(ilen)만큼 잘라서 반환 문자열이 null 또는 빈 문자열이면 null 반환 문자열이 주어진 길이보다 크거나 같으면 그대로 반환 문자열이 주어진 길이보다 작으면 잘라서 반환
      Parameters:
      sSrc - 대상 문자열
      ilen - 잘라낼 길이
      Returns:
      잘라낸 문자열
    • findPos

      public static int[] findPos(String[] asSrc, String sFind)
      findPos 대상 문자열 배열에서 주어진 문자열(sFind)이 포함된 위치를 찾아서 반환 대상 문자열 배열이 null 또는 길이가 0이면 null 반환 주어진 문자열이 포함된 위치를 int 배열로 반환 포함된 위치가 없으면 빈 int 배열을 반환
      Parameters:
      asSrc - 대상 문자열 배열
      sFind - 찾을 문자열
      Returns:
      포함된 위치의 int 배열
    • charsetTest

      public static void charsetTest(String sSrc)
      charsetTest 주어진 문자열(sSrc)을 다양한 문자셋으로 변환하여 출력 문자열이 null 또는 빈 문자열이면 아무 작업도 하지 않음 다양한 문자셋(EUC-KR, KSC5601, ISO-8859-1, ASCII, UTF-8, x-windows-949)으로 변환하여 출력
      Parameters:
      sSrc - 대상 문자열
    • inDelimFor

      public static String inDelimFor(String sSrc, int iInterval, String sDelim, boolean bTrim)
      inDelimFor 대상 문자열에 간격마다 구분자를 추가 처리 방향 : 정방향(시작 -> 끝)
      Parameters:
      sSrc - 대상 문자열
      iInterval - 간격
      sDelim - 구분자(구분문자 또는 문자열)
      bTrim - 문자열 시작부분에 붙는 구분자 제외(true:제외, false:제외안함)
      Returns:
      구분자가 추가된 문자열
    • inDelimRev

      public static String inDelimRev(String sSrc, int iInterval, String sDelim, boolean bTrim)
      inDelimFor 대상 문자열에 간격마다 구분자를 추가 처리 방향 : 정방향(시작 -> 끝) 대상 문자열이 null 또는 빈 문자열이면 null 반환 간격(iInterval)이 1보다 작으면 null 반환 구분자(sDelim)가 null 또는 빈 문자열이면 null 반환
      Parameters:
      sSrc - 대상 문자열
      iInterval - 간격
      sDelim - 구분자(구분문자 또는 문자열)
      bTrim - 문자열 시작부분에 붙는 구분자 제외(true:제외, false:제외안함)
      Returns:
      구분자가 추가된 문자열