Elimina toate aparițiile char șir de

Eu pot folosi asta:

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

Există o modalitate de a elimina toate aparițiile caracterului " X " dintr-un Șir de caractere în Java?

Am încercat acest lucru și nu este ceea ce vreau: str.înlocui('X',' '); //înlocuiți cu spațiu

Comentarii la întrebare (1)
Soluția

Încercați să utilizați suprasarcină care ia CharSequence argumente (de exemplu, String), mai degrabă decât char:

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

Folosind

public String replaceAll(String regex, String replacement)

va lucra.

Utilizare ar fi str.înlocui("X", "");.

Executare

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

se întoarce:

lakjsdf xx
Comentarii (2)

Dacă vrei să faci ceva cu Java Siruri de caractere, Commons Lang StringUtils este un loc minunat să se uite.

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

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

Acesta este un exemplu de unde am scos caracter din Șir.

Comentarii (2)

Îmi place folosind RegEx în această ocazie:

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

unde g înseamnă la nivel mondial, astfel că vor merge prin întregul șir și înlocuiți X cu ''; dacă doriți să înlocuiți ambele X și x, pur și simplu spune:

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

(vezi vioara mea aici: [vioara][1])

Comentarii (2)

Salut Încercați acest cod de mai jos


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
Comentarii (1)

Utilizarea toții în loc de a înlocui

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

Acest lucru ar trebui să vă dea răspunsul dorit.

Comentarii (1)

here este o funcție lambda care elimină toate caracterele trecut ca 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.aplica( str, "XYZ" ); // –> "Text pentru a modifica"

Comentarii (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);
        }
    }
}
Comentarii (1)

Puteți utiliza str = str.înlocui("X", ""); așa cum am menționat înainte de, și vă va fi bine. Pentru informații&#39;&#39; nu este un gol (sau valide) caracter, dar&#39;\0&#39; este.

Deci, ai putea folosi str = str.înlocui(&#39;X&#39;, &#39;\0&#39;); în schimb.

Comentarii (1)