从string中删除所有出现的字符

我可以使用这个:

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

有没有办法从Java中的string中删除所有的字符X

我试过这个,不是我想要的: str.replace('X',' '); //replace with space str.replace('X',' '); //replace with space

尝试使用使用CharSequence参数 (例如, String )而不是char的重载 :

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

运用

 public String replaceAll(String regex, String replacement) 

将工作。

用法将是str.replace("X", "");

执行

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

收益:

 lakjsdf xx 

如果你想用Javastring做一些事情, Commons Lang StringUtils是一个很好的select。

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

这是我从string中删除字符的例子。

我喜欢在这种情况下使用RegEx:

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

g表示全局,所以它会遍历整个string,并用“'replace所有的X; 如果你想replaceX和X,你只需说:

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

(看我这里的小提琴 : 小提琴 )

你好,请尝试下面的代码

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

你可以使用str = str.replace("X", ""); 如前所述,你会没事的。 对于您的信息''不是一个空的(或有效的)字符,但'\0'是。

所以你可以使用str = str.replace('X', '\0'); 代替。