繁体   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