我正在尋找在輸入字符串中的以下文字:+Bob
從字符串中刪除字符?
如果程序發現+Bob
,我希望它刪除鮑勃+
前
不過,我不希望該計劃消除所有+
只是+
的之前或之後鮑勃,有或無中間空白。例如:+ Bob
的字符串仍然計爲+Bob
。
我正在尋找在輸入字符串中的以下文字:+Bob
從字符串中刪除字符?
如果程序發現+Bob
,我希望它刪除鮑勃+
前
不過,我不希望該計劃消除所有+
只是+
的之前或之後鮑勃,有或無中間空白。例如:+ Bob
的字符串仍然計爲+Bob
。
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");
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
*/
對不起,我downvoted你們,因爲答案是:用StringBuffer.deleteCharAt(INT指數)
是否意味着你要刪除的'+'隨時隨地之前'下降bob'比如,如果有10個'+'和'bob'之間的空格還是隻考慮單個空間? – Beef
你說的第一件事 – Confiqure
你最終想在這裏完成什麼?隨着這個問題的所有變化,我開始懷疑你是否正在以正確的方式進行。 –