1. 이미지 소스의 base64문자열 제거 (<img src=“data-image/png;base64, …….”/> → <img src=“”/>)
String testStr="<img src=\"data:image/png;base64,iVBORw0KGgo ... 5XTk8evT\">"; System.out.println(testStr.replaceAll("src=\"data:image[^\"]*\"", "src=\"\""));
2. http://www.repia.com → <a href=“http://www.repia.com” target=“blank”>www.repia.com</a>(링크추가)
String testStr="http://www.repia.com "; System.out.println(testStr.replaceAll("(http(s)?://([^ ]*))", "<a href=\"$1\" target=\"blank\">$3</a>"));
괄호 순서대로
(http(s)?://([^ ]*)) ⇒ $1
(s) ⇒ $2
([^ ]*) ⇒ $3
// Source public static void main(String[] args) { String[] linkHostList = { "http://www.sit.re.kr/kr/board/result/boardView.do?bbsIdx=" , "https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn=" , "https://www.kosen21.org/info/kosenReport/reportView.do?articleSeq=" }; for(String linkHost: linkHostList) { System.out.printf("%s -> %s\n", linkHost, linkHost.replaceAll("(http(s)?://([^/]*)(/.*))", "$3")); } } // Output <= $3 http://www.sit.re.kr/kr/board/result/boardView.do?bbsIdx= -> www.sit.re.kr https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn= -> scienceon.kisti.re.kr https://www.kosen21.org/info/kosenReport/reportView.do?articleSeq= -> www.kosen21.org // Output <= $1 http://www.sit.re.kr/kr/board/result/boardView.do?bbsIdx= -> http://www.sit.re.kr/kr/board/result/boardView.do?bbsIdx= https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn= -> https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn= https://www.kosen21.org/info/kosenReport/reportView.do?articleSeq= -> https://www.kosen21.org/info/kosenReport/reportView.do?articleSeq= // Output <= $2 http://www.sit.re.kr/kr/board/result/boardView.do?bbsIdx= -> https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn= -> s https://www.kosen21.org/info/kosenReport/reportView.do?articleSeq= -> s // Output <= $4 http://www.sit.re.kr/kr/board/result/boardView.do?bbsIdx= -> /kr/board/result/boardView.do?bbsIdx= https://scienceon.kisti.re.kr/srch/selectPORSrchTrend.do?cn= -> /srch/selectPORSrchTrend.do?cn= https://www.kosen21.org/info/kosenReport/reportView.do?articleSeq= -> /info/kosenReport/reportView.do?articleSeq=
3. 한줄로 간단하게 ltrim, rtrim
String testStr=str.replaceAll("^\\s+",, ""); //ltrim String testStr=str.replaceAll("\\s+$",, ""); //rtrim
'^' mean 처음부터 매칭
'$' mean 라인마지막 매칭
\\s+ mean white space
4. 특수 기호 사용하기
4.1 []로 싸주면 문자자체를 인식하는 것
* => [*] + => [+] $ => [$] | => [|] ? => [?]
4.2 \\를 붙여줘야 하는 것
( -> \\( ) -> \\) { -> \\{ } -> \\} ^ -> \\^ [ -> \\[ ] -> \\]
4.3 나머지 기호 !#%&@':;-.<>,~` 는 괜찮은 것 같다.
String c = "?$(){}*+^|[]"; c = c.replaceAll("[?][$]\\(\\)\\{\\}[*][+]\\^[|]\\[\\]", "");