답변:
당신은 쉽게 사용할 수 있습니다 String.replace():
String helloWorld = "Hello World!";
String hellWrld = helloWorld.replace("o","");
Apache StringUtils를 확인하십시오 .
static String replace(String text, String searchString, String replacement)다른 문자열 내에서 발생하는 모든 문자열을 바꿉니다.static String replace(String text, String searchString, String replacement, int max)검색 문자열의 첫 번째 최대 값에 대해 문자열을 더 큰 문자열 내부의 다른 문자열로 바꿉니다.static String replaceChars(String str, char searchChar, char replaceChar)문자열에서 발생하는 모든 문자를 다른 문자로 바꿉니다.static String replaceChars(String str, String searchChars, String replaceChars)한 번에 문자열의 여러 문자를 바꿉니다.static String replaceEach(String text, String[] searchList, String[] replacementList)다른 문자열 내에서 나타나는 모든 문자열을 바꿉니다.static String replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)다른 문자열 내에서 나타나는 모든 문자열을 바꿉니다.static String replaceOnce(String text, String searchString, String replacement)한 번 큰 문자열 내부에서 문자열을 다른 문자열로 바꿉니다.static String replacePattern(String source, String regex, String replacement)Pattern.DOTALL 옵션을 사용하여 지정된 정규식과 일치하는 소스 문자열의 각 하위 문자열을 지정된 대체로 바꿉니다.
구아바의 CharMatcher.removeFrom 함수를 사용할 수도 있습니다 .
예:
String s = CharMatcher.is('a').removeFrom("bazaar");
기존 문자열로 바꾸는 데 하위 문자열을 사용할 수도 있습니다.
var str = "abc awwwa";
var Index = str.indexOf('awwwa');
str = str.substring(0, Index);
주어진 문자열에서 모든 부분 문자열을 삭제하는 구현입니다.
public static String deleteAll(String str, String pattern)
{
for(int index = isSubstring(str, pattern); index != -1; index = isSubstring(str, pattern))
str = deleteSubstring(str, pattern, index);
return str;
}
public static String deleteSubstring(String str, String pattern, int index)
{
int start_index = index;
int end_index = start_index + pattern.length() - 1;
int dest_index = 0;
char[] result = new char[str.length()];
for(int i = 0; i< str.length() - 1; i++)
if(i < start_index || i > end_index)
result[dest_index++] = str.charAt(i);
return new String(result, 0, dest_index + 1);
}
isSubstring () 메소드의 구현은 다음과 같습니다. 같습니다