我在输入字符串中搜索以下文字:+Bob
如果程序找到+Bob
,我希望它在Bob之前删除+
但是,我不希望程序消除所有+
,只有+
之前或之后 Bob,无论是否有插入空格。因此,例如+ Bob
的字符串仍计为+Bob
。
答案 0 :(得分:7)
String str = "+Bob foo + bar";
str = str.replace("+Bob", "Bob");
System.out.println(str);
Bob foo + bar
要处理+
和Bob
之间的空格,您可以使用正则表达式:
String str = "+Bob foo + bar";
str = str.replaceAll("\\+\\s*Bob", "Bob");
要检查之后的加号,请使用
str = str.replaceAll("Bob\\s*\\+", "Bob");
答案 1 :(得分:0)
public class Test {
public static void main(String[] args) throws Exception {
String regexp = "(?)\\+(\\s?)+Bob";
System.out.println("+Bob foo + bar".replaceAll(regexp, "Bob"));
System.out.println("+ Bob foo + bar".replaceAll(regexp, "Bob"));
System.out.println("+ Bob foo + bar +Bob".replaceAll(regexp, "Bob"));
System.out.println("+ Bob foo + bar + Bob".replaceAll(regexp, "Bob"));
}
}
/* output :
Bob foo + bar
Bob foo + bar
Bob foo + bar Bob
Bob foo + bar Bob
*/
答案 2 :(得分:0)
抱歉,我拒绝了你们,因为答案是:使用StringBuffer.deleteCharAt(int Index)