답변:
당신은 쉽게 사용할 수 있습니다 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 () 메소드의 구현은 다음과 같습니다. 같습니다