簡體   English   中英

從字符串中刪除字符?

[英]Removing char from string?

我正在輸入字符串中搜索以下文本: +Bob

如果程序找到+Bob ,我希望它刪除Bob之前的+

不過,我不希望該計划消除所有+的,只是+ ' 之前或之后鮑勃S,有或沒有介入空格。 因此,例如: + 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");

抱歉,我拒絕了你們的投票,因為答案是:使用StringBuffer.deleteCharAt(int Index)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM