[JAVA] 대소문자 관계없이 검색어 찾아 강조문구로 바꾸기.. // 검색시 대소문자 관계없이 강조문구로 바꾸기... public String convertWords(String oriString, String findword) { // replaceAll ==> 버그 있음.. 검색어 [강풀] ==> 결과 : [강풀][강풀] 일케 두번 나온다.. StringBuffer newString = new StringBuffer(oriString); StringBuffer tmpText = new StringBuffer(oriString.toUpperCase()); // 임시로 사용할 원본의 대문자.. String newText = oriString.toUpperCase(); // 원문의 복사본을 대문자로 바꾸기.. findword = findword.toUpperCase(); // 검색어도 대문자로.. newText = newText.replaceAll(findword, "<font color=red>" + findword + "</font>"); // 일단 복사본을 원하는 강조문구로 바꾸어 놓는다.. int leng = newText.length() - 1; for (int i = 0; i < leng; i ++ ) { char chr = newText.charAt(i); try { if (chr != tmpText.charAt(i)) // 강조문구 적용부분을 찾는다... { tmpText.insert(i, chr); // 길이를 맞추기위해 여기에도 삽입한다. newString.insert(i, chr); // 원문에 강조문구를 삽입한다.. } } catch (Exception ee) // 맨뒤쪽에 강조문구가 들어가는경우 길이차이로 String index out of range 발생.. { tmpText.append(chr); newString.append(chr); } } return newString.toString(); } ===> 제목, 내용에 적용하면 좋을 듯...냐하하.. |
2011년 5월 18일 수요일
[JAVA] 대소문자 관계없이 검색어 찾아 강조문구로 바꾸기..
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기