我知道如何用字符串中的另一个字符替换某个字符:
System.out.println(replaceAll("Where are you??", "?", ""))
public static String replaceAll(String front, String pattern, String back){
if (front == null)
return "";
StringBuffer sb = new StringBuffer(); //A StringBuffer is created
int idx = -1;
int patIdx = 0;
while ((idx = front.indexOf(pattern, patIdx)) != -1)
{
sb.append(front.substring(patIdx, idx));
sb.append(back);
patIdx = idx + pattern.length();
}
sb.append(front.substring(patIdx));
return sb.toString();
}
此代码将用空白替换所有 ?
并打印出(“你在哪里”)
现在我想知道的是如何替换超过 1 个字符。在 Java 中,我可以只使用简单的正则表达式,但如果在黑莓中,我会这样写:
System.out.println(replaceAll("Henry!!你在哪里??", "!?", ""))
然后黑莓不接收它。那么我该如何克服黑莓的这个限制呢?
最佳答案
没有任何方法可以做到你想要的。但我可以建议您制作一个您要替换的模式的字符串数组
。循环遍历 array of string 根据位置获取字符串并将其传递给您的
public static String replaceAll(String front, String pattern, String back)
。希望这对您有所帮助。
关于java - 如何在黑莓中替换超过 1 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11559710/