Java replace()问题

我应该输入一个字符串,并更换所有and,to,you,和for与子&,2,U,和4。

输入字符串时"and , and,and , to , to,to , you ,you , you, for ,for , for,a , a,e , e,i , i,o , o,u , u",仅and在打印时输出。

public void simplify()

{

System.out.println("Enter a string to simplify: ");

String rope = in.next();

System.out.println(simplifier(rope));

}

public String simplifier(String rope)

{

rope = rope.replace(" and "," & ");

rope = rope.replace(" and"," &");

rope = rope.replace("and ","& ");

rope = rope.replace(" to "," 2 ");

rope = rope.replace(" to"," 2");

rope = rope.replace("to ","2 ");

rope = rope.replace(" you "," U ");

rope = rope.replace("you ","U ");

rope = rope.replace(" you"," U");

rope = rope.replace(" for "," 4 ");

rope = rope.replace("for ","4 ");

rope = rope.replace(" for"," 4");

rope = rope.replace("a ","");

rope = rope.replace(" a","");

rope = rope.replace("e ","");

rope = rope.replace(" e","");

rope = rope.replace("i ","");

rope = rope.replace(" i","");

rope = rope.replace(" o","");

rope = rope.replace("o ","");

rope = rope.replace("u ","");

rope = rope.replace(" u","");

System.out.print(rope);

return rope;

}

输出:and and

似乎在第一个空格后切断了返回的字符串

我不知道发生了什么,为什么不按预期工作。我究竟做错了什么?

回答:

这是我简化您的代码并获得正确结果的方式:

    String rope = "and , and,and , to , to,to , you ,you , you, for ,for , for,a , a,e , e,i , i,o , o,u , u";

// rope = rope.replaceAll(" ", "");

rope = rope.replaceAll("and", "&");

rope = rope.replaceAll("to", "2");

rope = rope.replaceAll("you", "U");

rope = rope.replaceAll("for", "4");

rope = rope.replaceAll("a", "");

rope = rope.replaceAll("e", "");

rope = rope.replaceAll("i", "");

rope = rope.replaceAll("o", "");

rope = rope.replaceAll("u", "");

System.out.println(rope);

以上是 Java replace()问题 的全部内容, 来源链接: utcz.com/qa/410480.html

回到顶部