사용자 도구

사이트 도구


wiki:java:string:replaceall

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
wiki:java:string:replaceall [2020/06/04 09:16]
dhan
wiki:java:string:replaceall [2023/01/13 18:44] (현재)
줄 21: 줄 21:
 </code> </code>
 > 괄호 순서대로 \\ (http(s)?:%%//%%([^ ]*)) => $1 \\ (s) => $2 \\ ([^ ]*) => $3 > 괄호 순서대로 \\ (http(s)?:%%//%%([^ ]*)) => $1 \\ (s) => $2 \\ ([^ ]*) => $3
 +<code java>
 +// 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=
 +
 +</code>
 +
 \\ \\
 3. 한줄로 간단하게 ltrim, rtrim 3. 한줄로 간단하게 ltrim, rtrim
줄 27: 줄 61:
 String testStr=str.replaceAll("\\s+$",, ""); //rtrim String testStr=str.replaceAll("\\s+$",, ""); //rtrim
 </code> </code>
-> '^' mean 처음부터 매칭 \\ '$' mean 라인마지막 매칭%%\\%%s+ mean white space +> '^' mean 처음부터 매칭 \\ '$' mean 라인마지막 매칭 \\ %%\\%%s+ mean white space 
 \\ \\
 +4. 특수 기호 사용하기  \\
 +4.1 []로 싸주면 문자자체를 인식하는 것
 +<code java>
 +* => [*]
 ++ => [+]
 +$ => [$]
 +| => [|]
 +? => [?]
 +</code>
 +4.2 \\를 붙여줘야 하는 것
 +<code java>
 +( -> \\(
 +) -> \\)
 +{ -> \\{
 +} -> \\}
 +^ -> \\^
 +[ -> \\[
 +] -> \\]
 +</code>
 +4.3 나머지 기호 !#%&@':;-.<>,~` 는 괜찮은 것 같다. \\
 +<code java>
 +String c = "?$(){}*+^|[]";
 +c = c.replaceAll("[?][$]\\(\\)\\{\\}[*][+]\\^[|]\\[\\]", "");
 +</code>
 +
 +
 +
 ===== Ref ===== ===== Ref =====
   * [[https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html|Pattern, Regular Experssion]]   * [[https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html|Pattern, Regular Experssion]]
   * [[https://regexr.com/|Regular 온라인 Test]]   * [[https://regexr.com/|Regular 온라인 Test]]
 +  * [[http://coolx.net/cboard/develop/446|replaceAll에서 정규표현식 특수문자 취급 자바]]
  
 ===== Tip ===== ===== Tip =====
/volume1/web/dokuwiki/data/attic/wiki/java/string/replaceall.1591229800.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)