修剪字符串删除超过需要

时间:2011-10-07 07:15:53

标签: java

以下代码用于修剪我的字符串。不幸的是,它除了“conf”值之外还有更多。

我这样做了吗?

这样做是添加一个双html响应地址,所以我删除了第一个网址'conf'

String pageIdUrl = response.getRedirectUrl();

if(pageIdUrl.startsWith(conf.toString()));
{
    pageIdUrl = pageIdUrl.substring(conf.toString().length());
}

4 个答案:

答案 0 :(得分:8)

似乎有一个错位的分号会阻止你的if语句按预期工作。

String pageIdUrl = response.getRedirectUrl();

if(pageIdUrl.startsWith(conf.toString()))
{
    pageIdUrl = pageIdUrl.substring(conf.toString().length());
}
Console.WriteLine(conf.toString());
Console.WriteLine(pageIdUrl);

答案 1 :(得分:0)

if(pageIdUrl.startsWith(conf.toString()));
                                         ^

请注意这里的分号。 then-action为空:如果满足条件,则不执行任何操作。

{
    pageIdUrl = pageIdUrl.substring(conf.toString().length());
}

无论条件是否满足,都会发生这一部分,因为它只是另一个后续声明。是的,你被允许使用这样的大括号。它们为局部变量名创建了额外的范围。

发生的事情是你的字符串实际上并不是以conf字符串开头的,而是无论如何都会被扼杀。

答案 2 :(得分:0)

if语句后你保留了一个分号。

String pageIdUrl = "conf:xxx";
        String conf = "conf";

        if (pageIdUrl.startsWith(conf.toString())){        
            pageIdUrl = pageIdUrl.substring(conf.toString().length());
            System.out.println(pageIdUrl);
        }

答案 3 :(得分:0)

正如其他人所指出的,问题在于额外的“;”。提示:如果您是Eclipse用户,我建议将“空语句”的编译/错误警告设置为警告或错误。 Eclipse将在编辑器中标记此问题。其他IDE可能会提供类似的东西。