Jawaban:
Anda dapat dengan mudah menggunakan String.replace()
:
String helloWorld = "Hello World!";
String hellWrld = helloWorld.replace("o","");
Lihat Apache StringUtils :
static String replace(String text, String searchString, String replacement)
Mengganti semua kemunculan String dalam String lain.static String replace(String text, String searchString, String replacement, int max)
Mengganti String dengan String lain di dalam String yang lebih besar, untuk nilai maks pertama String pencarian.static String replaceChars(String str, char searchChar, char replaceChar)
Mengganti semua kemunculan karakter dalam sebuah String dengan yang lain.static String replaceChars(String str, String searchChars, String replaceChars)
Mengganti banyak karakter dalam sebuah String dalam sekali jalan.static String replaceEach(String text, String[] searchList, String[] replacementList)
Mengganti semua kemunculan String dalam String lain.static String replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)
Mengganti semua kemunculan String dalam String lain.static String replaceOnce(String text, String searchString, String replacement)
Mengganti String dengan String lain di dalam String yang lebih besar, sekali.static String replacePattern(String source, String regex, String replacement)
Mengganti setiap substring dari String sumber yang cocok dengan ekspresi reguler yang diberikan dengan penggantian yang diberikan menggunakan opsi Pattern.DOTALL.
replace('regex', 'replacement');
replaceAll('regex', 'replacement');
Dalam contoh Anda,
String hi = "Hello World!"
String no_o = hi.replaceAll("o", "");
Anda juga dapat menggunakan fungsi CharMatcher.removeFrom dari jambu biji .
Contoh:
String s = CharMatcher.is('a').removeFrom("bazaar");
Anda dapat menggunakan Substring juga untuk mengganti dengan string yang ada:
var str = "abc awwwa";
var Index = str.indexOf('awwwa');
str = str.substring(0, Index);
Berikut adalah implementasi untuk menghapus semua substring dari string yang diberikan
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);
}
Implementasi metode isSubstring () ada di sini
private static void replaceChar() {
String str = "hello world";
final String[] res = Arrays.stream(str.split(""))
.filter(s -> !s.equalsIgnoreCase("o"))
.toArray(String[]::new);
System.out.println(String.join("", res));
}
Jika Anda memiliki logika rumit untuk memfilter char, gunakan cara lain replace()
.