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
Cobalah menggunakan overload yang mengambil CharSequence
argumen (misalnya, String
) bukan char
:
str = str.replace("X", "");
Menggunakan
public String replaceAll(String regex, String replacement)
akan bekerja.
Penggunaan akan str.mengganti("X", "");
.
Pelaksana
"Xlakjsdf Xxx".replaceAll("X", "");
kembali:
lakjsdf xx
Jika anda ingin melakukan sesuatu dengan Java String, Commons Lang StringUtils adalah tempat yang bagus untuk melihat.
StringUtils.remove("TextX Xto modifyX", 'X');
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])
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<rmString.length; i++){
if(rmString[i] == x){
} else {
strBuilder.append(rmString[i]);
}
}
return strBuilder.toString();
}
}
here adalah fungsi lambda yang menghilangkan semua karakter disahkan sebagai string
BiFunction<String,String,String> 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"
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);
}
}
}
Anda dapat menggunakan str = str.mengganti("X", "");
seperti yang disebutkan sebelumnya dan anda akan baik-baik saja. Untuk informasi anda''
tidak kosong (atau valid) tapi karakter'\0'
adalah.
Jadi anda bisa menggunakan str = str.mengganti('X', '\0');
sebaliknya.