Menghapus semua kejadian dari char dari string

Saya bisa menggunakan ini:

String str = "TextX Xto modifyX";
str = str.replace('X','');//that does not work because there is no such character ''

Apakah ada cara untuk menghapus semua kemunculan karakter X dari sebuah String dalam Java?

Saya mencoba ini dan bukan apa yang saya inginkan: str.mengganti('X',' '); //ganti dengan ruang

Mengomentari pertanyaan (1)
Larutan

Cobalah menggunakan overload yang mengambil CharSequence argumen (misalnya, String) bukan char:

str = str.replace("X", "");
Komentar (8)

Menggunakan

public String replaceAll(String regex, String replacement)

akan bekerja.

Penggunaan akan str.mengganti("X", "");.

Pelaksana

"Xlakjsdf Xxx".replaceAll("X", "");

kembali:

lakjsdf xx
Komentar (2)

Jika anda ingin melakukan sesuatu dengan Java String, Commons Lang StringUtils adalah tempat yang bagus untuk melihat.

StringUtils.remove("TextX Xto modifyX", 'X');
Komentar (1)
String test = "09-09-2012";
String arr [] = test.split("-");
String ans = "";

for(String t : arr)
    ans+=t;

Ini adalah contoh di mana saya telah menghapus karakter dari String.

Komentar (2)

Saya suka menggunakan RegEx dalam kesempatan ini:

str = str.replace(/X/g, '');

di mana g berarti global sehingga akan pergi melalui seluruh string dan mengganti semua X dengan ''; jika anda ingin mengganti kedua X dan x, anda hanya mengatakan:

str = str.replace(/X|x/g, '');

(melihat saya bermain-main di sini: [biola][1])

Komentar (2)

Halo Mencoba kode ini di bawah ini


public class RemoveCharacter {

    public static void main(String[] args){
        String str = "MXy nameX iXs farXazX";
        char x = 'X';
        System.out.println(removeChr(str,x));
    }

    public static String removeChr(String str, char x){
        StringBuilder strBuilder = new StringBuilder();
        char[] rmString = str.toCharArray();
        for(int i=0; i
Komentar (1)

Gunakan replaceAll bukan mengganti

str = str.replaceAll("X,"");

Ini akan memberikan anda jawaban yang dikehendaki.

Komentar (1)

here adalah fungsi lambda yang menghilangkan semua karakter disahkan sebagai string

BiFunction deleteChars = (fromString, chars) -> {
  StringBuilder buf = new StringBuilder( fromString );
  IntStream.range( 0, buf.length() ).forEach( i -> {
    while( i < buf.length() && chars.indexOf( buf.charAt( i ) ) >= 0 )
      buf.deleteCharAt( i );
  } );
  return( buf.toString() );
};

String str = "TextX XYto modifyZ";
deleteChars.menerapkan( str, "XYZ" ); // –> "Text untuk mengubah"

Komentar (0)
package com.acn.demo.action;

public class RemoveCharFromString {

    static String input = "";
    public static void main(String[] args) {
        input = "abadbbeb34erterb";
        char token = 'b';
        removeChar(token);
    }

    private static void removeChar(char token) {
        // TODO Auto-generated method stub
        System.out.println(input);
        for (int i=0;i<input.length();i++) {
            if (input.charAt(i) == token) {
            input = input.replace(input.charAt(i), ' ');
                System.out.println("MATCH FOUND");
            }
            input = input.replaceAll(" ", "");
            System.out.println(input);
        }
    }
}
Komentar (1)

Anda dapat menggunakan str = str.mengganti("X", ""); seperti yang disebutkan sebelumnya dan anda akan baik-baik saja. Untuk informasi anda&#39;&#39; tidak kosong (atau valid) tapi karakter&#39;\0&#39; adalah.

Jadi anda bisa menggunakan str = str.mengganti(&#39;X&#39;, &#39;\0&#39;); sebaliknya.

Komentar (1)