이슈 :
Json 으로 들어온 데이터를 String 으로 받고 다른 업체의 API 를 통신하여 그쪽에 전달해야되는 과정에서 중간에 개행문자(\n)가 삽입되는 결과가 발생.
요구사항 :
String 안에 있는 개행문자를 제거후 다시 전달 해줘야함
작업 :
String 으로 받았기 때문에 안에 있는 문자를 치환해주는 replace 또는 replaceall 사용해서 바꿔줘야 함
인풋값 :
"{"test" : "\n","test1" : "","test2" : "","test3" : "\n","test4" : "","test5" : ""}"
방법 :
1. replace("\n","")
String.replace("\n","");
결과 : 소용없음 "" 안에 있는 \n 정상적으로 인식 못함
2. replaceAll("(\r\n|\n)", "")
String.replaceAll("(\r\n|\n)", "");
결과 : 스택 오버 플로어에 다양한 방법이 제시 되었고 해당 방법으로 해결되었다는 말에 진행했으나 해결못함 replaceAll 의 경우 정규식을 사용할수 있기 때문에 혹시나 하는 마음에 정규식 테스트도 진행. 정규식은 인식을 하였지만 여전히 치환 불가
3.replaceAll("\n", "")
String.replaceAll("\\n", "");
결과 : 해결 이유는 너무 간단하게도 String 으로 들어올때 \\n 역 슬래쉬가 2개 있는것을 확인했고 java 의 경우 문자열 안에 \ 는 다음문자를 그대로 인식 하기 때문에 안보였던것
그래서 replace 할때도 역 슬래쉬를 두번 넣어 \n 그대로 인식하게 해줌
'개발 언어 > JAVA' 카테고리의 다른 글
Getter , Setter 메소드 사용 이유 (0) | 2023.01.29 |
---|---|
Java 접근제한자 (0) | 2023.01.29 |
++ , -- 증감 연산자의 앞뒤 차이 (0) | 2023.01.29 |
자바 text 은행 만들기 (0) | 2023.01.29 |
자바 짝수의 합 (0) | 2023.01.29 |