luxury515
1k
2019-03-12 12:59:07
4
339

java split 문제



public static void main(String[] ars){
        String str = "kyc/20190311/472BA1BEF2905200523E3EF1FFED616AE7B198E4564AC369ED989C93A5BC2890/5d9ea25ecbd14ccb9334dd038bd93a6f";

        String str0 = str.split("/")[0];
        String str1 = str.split("/")[1];
        String str3 = str.split("/")[3];
        String result = "v3/users/kyc/files/"+str0+"/"+str1+"/"+str3;

        System.out.println(result);


    }

/ 기준으로 2번째 / 와 , 3번째 / 사이의 데이트는 지우고 기존 데이터는 유지하는게 목적인데.

코드 줄이는 방법이라던지

혹서 split("/", xx,xxx) 이런 형식의 옵션은 없을까요?

0
0
  • 답변 4

  • 우왕굳
    295
    2019-03-12 13:04:06
    str = str.replace(str.split("/")[2],"");
    근대 str.split("/")[2] 랑 중복된값이 없을시엔 잘돌아갈듯싶네요
    0
  • luxury515
    1k
    2019-03-12 13:09:19

    우왕굳



    결과값이 이렇게 되네요.  xxxxx/ /sfsdfsf

    v3/users/kyc/files/kyc/20190311//5d9ea25ecbd14ccb9334dd038bd93a6f

    제가 원하는건 

    v3/users/kyc/files/kyc/20190311/5d9ea25ecbd14ccb9334dd038bd93a6f

    0
  • 우왕굳
    295
    2019-03-12 13:17:14

    str = str.replace(str.split("/")[2]+"/","");

    str = "v3/users/kyc/files/"+str
    로하면 될것같습니다.

    0
  • Honowis
    345
    2019-03-12 14:03:54 작성 2019-03-12 14:12:57 수정됨

    input 의 kyc 바로 다음이 날짜 규격 같은데, 만약 삭제 하고 싶으신 string 이 무조건 9자 이상이라면 Regex 로 해 주시면 간편합니다.


    String result = "v3/users/kyc/files/"+ str.replaceAll("/([a-zA-Z0-9]{9,})/","/");
    System.out.println(result);


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.