2011-09-21 198 views
1

我正在寻找在输入字符串中的以下文字:+Bob从字符串中删除字符?

如果程序发现+Bob,我希望它删除鲍勃+

不过,我不希望该计划消除所有+只是+之前或之后鲍勃,有或无中间空白。例如:+ Bob的字符串仍然计为+Bob

+0

是否意味着你要删除的'+'随时随地之前'下降bob'比如,如果有10个'+'和'bob'之间的空格还是只考虑单个空间? – Beef

+0

你说的第一件事 – Confiqure

+0

你最终想在这里完成什么?随着这个问题的所有变化,我开始怀疑你是否正在以正确的方式进行。 –

回答

7
String str = "+Bob foo + bar"; 
str = str.replace("+Bob", "Bob"); 
System.out.println(str); 

鲍勃·富+酒吧

为了处理+Bob之间的空间,您可以使用正则表达式:

String str = "+Bob foo + bar"; 
str = str.replaceAll("\\+\\s*Bob", "Bob"); 

事后检查是否有加,用

str = str.replaceAll("Bob\\s*\\+", "Bob"); 
+0

大声笑谢谢,我不敢相信我没有想到...我找到索引和sh * t,LOL – Confiqure

+0

等待!查看我最新的更新 – Confiqure

+0

非常感谢! – Confiqure

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 
*/ 
+0

我会试试看,谢谢。 – Confiqure

+0

我怎样才能修改你的代码来工作〜鲍勃和鲍勃和*鲍勃等? – Confiqure

0

对不起,我downvoted你们,因为答案是:用StringBuffer.deleteCharAt(INT指数)