반응형
<!--StartFragment-->/**
* 문자열 내의 특정한 문자열을 모두 지정한 다른 문자열로 바꾼다.
* 원본 String 이 null 일 경우에는 null 을 반환한다.
* StringBuffer 를 이용하였으므로 이전의 String 을 이용한 것 보다
* 월등히 속도가 빠르다. (약 50 ~ 60 배)
*
* 사용 예: <BR>
*
* 1. 게시판에서 HTML 태그가 안 먹히게 할려면
*
* String str = "<TD>HTML Tag Free Test</TD>";
* str = replace(str, "&", "&");
* str = replace(str, "<", "<");
*
* 2. ' 가 포한된 글을 DB 에 넣을려면
*
* String str2 = "I don't know.";
* str2 = replace(str2, "'", "''");
*
* @param String src 원본 String
* @param String oldstr 원본 String 내의 바꾸기 전 문자열
* @param String newstr 바꾼 후 문자열
* @return String 치환이 끝난 문자열
*
* @date 2000/06/30
* @author 김필호 (Kim, Pilho) [phkim@cluecom.co.kr]
*/
public static String replace(String src, String oldstr, String newstr)
{
if (src == null)
return null;
StringBuffer dest = new StringBuffer("");
int len = oldstr.length();
int srclen = src.length();
int pos = 0;
int oldpos = 0;
while ((pos = src.indexOf(oldstr, oldpos)) >= 0) {
dest.append(src.substring(oldpos, pos));
dest.append(newstr);
oldpos = pos + len;
}
if (oldpos < srclen)
dest.append(src.substring(oldpos, srclen));
return dest.toString();
}
* 문자열 내의 특정한 문자열을 모두 지정한 다른 문자열로 바꾼다.
* 원본 String 이 null 일 경우에는 null 을 반환한다.
* StringBuffer 를 이용하였으므로 이전의 String 을 이용한 것 보다
* 월등히 속도가 빠르다. (약 50 ~ 60 배)
*
* 사용 예: <BR>
*
* 1. 게시판에서 HTML 태그가 안 먹히게 할려면
*
* String str = "<TD>HTML Tag Free Test</TD>";
* str = replace(str, "&", "&");
* str = replace(str, "<", "<");
*
* 2. ' 가 포한된 글을 DB 에 넣을려면
*
* String str2 = "I don't know.";
* str2 = replace(str2, "'", "''");
*
* @param String src 원본 String
* @param String oldstr 원본 String 내의 바꾸기 전 문자열
* @param String newstr 바꾼 후 문자열
* @return String 치환이 끝난 문자열
*
* @date 2000/06/30
* @author 김필호 (Kim, Pilho) [phkim@cluecom.co.kr]
*/
public static String replace(String src, String oldstr, String newstr)
{
if (src == null)
return null;
StringBuffer dest = new StringBuffer("");
int len = oldstr.length();
int srclen = src.length();
int pos = 0;
int oldpos = 0;
while ((pos = src.indexOf(oldstr, oldpos)) >= 0) {
dest.append(src.substring(oldpos, pos));
dest.append(newstr);
oldpos = pos + len;
}
if (oldpos < srclen)
dest.append(src.substring(oldpos, srclen));
return dest.toString();
}