从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');
代替。