2011-09-21 179 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指數)