티스토리 뷰


자바 스트링 버퍼를 쓸경우 <tbody> 와 같은 html을 쓸때
html 엘리먼트 앞,뒤에
sb.append("<tbody>");
이런식으로 sb.append("를 앞에 붙이고 "); 를 뒤에 붙여야할 경우가 있다.

<tbody>
    <tr>
        <td class=\"no\">31</td>
       
3줄만 해보겠다. (맽 밑에 엔터가 있으면 좋다. 안그러면 맨 아래줄은 안된다.)

우선 앞에 붙이는거는 쉽다.

커서를 맨 앞에 두고 Alt+c 를 눌러 Text to Insert 하여
sb.append("
입력하고 OK 바튼을 클릭.

sb.append("<tbody>
sb.append("    <tr>
sb.append("        <td class=\"no\">31</td>

그럼 이렇게 나온다.

이제 맨 뒤에 ");를 붙여야 되는데

먼저 쉽게 , 만 붙여보는것을 먼저 해보자.

각 OS별 개행코드
윈도우: \r\n
UNIX: \n
MAC: \r

처음에 그냥 \n 만 했더니 자꾸 엔터가 먹으면서 바뀌어 졌다.

그래서 한참 고민을 하다가 윈도우는 \n가 아닌 \r\n을 사용했더니 되었다.

Ctrl + h 를 눌러서 아래부분 Regular Expression 라디오 버튼을 선택하고(이하 계속 선택)
Find what : \n
Replace with : ,\n

이렇게 하면

sb.append("<tbody>
,
sb.append("    <tr>
,
sb.append("        <td class=\"no\">31</td>

이렇게 엔터가 먹으면서 바뀐다. 이게 아니다.

그래서

Ctrl + h 를 눌러서
Find what : \r\n
Replace with : ,\r\n

이렇게 했더니 아래 처럼 정상적으로 엔터가 안먹고 바뀌었다.

sb.append("<tbody>,
sb.append("    <tr>,
sb.append("        <td class=\"no\">31</td>,

컴마는 쉬운데 "); 가 안되었다. 한참을 삽질한 끝에
)는 특수문자이다. 그래서 \를 붙여줘 escape 해야 한다.
마치 " 처럼.

그냥 했을경우

Find what : \r\n
Replace with : ");\r\n

이렇게 ) 에 대해 escape를 안했을 경우

sb.append("<tbody>"sb.append("    <tr>"sb.append("        <td class=\"no\">31</td>"

이렇게 된다. 이게 아니다.

그래서 ) 를 \ 를 사용해야 escape 해준다.

Find what : \r\n
Replace with : "\);\r\n

결과:
sb.append("<tbody>");
sb.append("    <tr>");
sb.append("        <td class=\"no\">31</td>");

이렇게 정상적으로 바뀐다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함