[java] 주어진 문자열에서 부분 문자열을 어떻게 제거합니까?

주어진 StringJava 에서 부분 문자열을 제거하는 쉬운 방법이 있습니까?

예 : "Hello World!", 제거 "o""Hell Wrld!"



답변

당신은 쉽게 사용할 수 있습니다 String.replace():

String helloWorld = "Hello World!";
String hellWrld = helloWorld.replace("o","");


답변

StringBuffer를 사용할 수 있습니다

StringBuffer text = new StringBuffer("Hello World");
text.replace( StartIndex ,EndIndex ,String);


답변

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 옵션을 사용하여 지정된 정규식과 일치하는 소스 문자열의 각 하위 문자열을 지정된 대체로 바꿉니다.

답변

replace('regex', 'replacement');
replaceAll('regex', 'replacement');

귀하의 예에서

String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");


답변

이것은 나에게 효과적입니다.

String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");

또는 당신은 사용할 수 있습니다

String no_o = hi.replace("o", "");


답변

당신은 봐야한다에 StringBuilder/StringBuffer있는 당신은, 삽입, 삭제의 지정된 문자 (들)을 대체 할 수 오프셋 .


답변

구아바의 CharMatcher.removeFrom 함수를 사용할 수도 있습니다 .

예:

 String s = CharMatcher.is('a').removeFrom("bazaar");