급하게 자바의 replace 기능을 구현할 일이 있어서 제작해보았다.
기본 자바 String class에 있는 것보다는 뭔가 비 안정적이겠지만...
그래도 내가 원하는 기본 기능은 충실하게 동작하는 듯 하다.
JUnit4로 테스트 돌려봐야 확실할 듯 하다.
public class Test {
public static void main(String[] args) {
String testStr1="I am an apple.", testStr2=null;
testStr2 = myReplace(testStr1, "a", "t");
System.out.println("testStr1:"+testStr1);
System.out.println("testStr2:"+testStr2);
}
public static String myReplace(String str, String a, String b) {
String result = null, tmpStr=str;
do {
if(result!=null) tmpStr = result;
result = myReplaceFirst(tmpStr, a, b);
}while(!result.equals(tmpStr));
return result;
}
public static String myReplaceFirst(String str, String a, String b) {
String result = null, tmpStr=str;
int idx=0, len=a.length(), len2=b.length();
int diffLens=len-len2;
idx = str.indexOf(a);
if(idx < 0) return str;
result = tmpStr.substring(0, idx) + b + tmpStr.substring(idx+len2+diffLens, str.length());
return result;
}
}
언젠가는 써먹을 일 있겠지?
이런거 하나씩 만들어두면 유용할 듯 하다.ㅎㅎ
'[Developer] > Java' 카테고리의 다른 글
이클립스에서 Dynamic Web Project의 Default context 설정하기 (0) | 2013.07.31 |
---|---|
Struts2 2.3.15.1의 버그 (0) | 2013.07.31 |
Eclipse에서 SVN Branch 따보기 (0) | 2012.07.02 |
메소드의 명명법에 대한 힌트 (0) | 2012.05.02 |
[Eclipse] 플러그인 설치시 에러 발생 대처법 (2) | 2012.03.26 |
댓글