从字符串中删除字符?
问题描述:
我正在寻找在输入字符串中的以下文字:+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
你最终想在这里完成什么?随着这个问题的所有变化,我开始怀疑你是否正在以正确的方式进行。 –