string.equals不适合我

ark*_*ath 2 html java string parsing compare

这是代码的有用部分:

java.util.List<Element> elems = src.getAllElements();
Iterator it = elems.iterator();
Element el;
String key,value,date="",place="";
String [] data;
int k=0;
Segment content;
String contentstr;
String classname;

while(it.hasNext()){

    el = (Element)it.next();

    if(el.getName().equals("span"))
    {

            classname=el.getAttributeValue("class");
        if(classname.equals("edit_body"))
        {
            //java.util.List<Element> elemsinner = el.getChildElements();
            //Iterator itinner = elemsinner.iterator();


            content=el.getContent();

            contentstr=content.toString();


            if(true)
            {


                System.out.println("Done!");

                System.out.println(classname);

                System.out.println(contentstr);


            }
       }
    }

}
Run Code Online (Sandbox Code Playgroud)

没有输出.但是,如果我删除if(classname.equals("edit_body"))它打印的条件(在其中一个迭代中):

Done!
edit_body
&quot;I honestly think it is better to be a failure at something you love than to be a success at something you hate.&quot;
Run Code Online (Sandbox Code Playgroud)

无法得到bug部分...帮助!

我正在使用外部Java库BTW进行html解析.

BTW在输出开始时有两个错误,在两种情况下都存在,有或没有条件:

Dec 20, 2012 11:53:11 AM net.htmlparser.jericho.LoggerProviderJava$JavaLogger error SEVERE: EndTag br at (r1992,c60,p94048) not recognised as type '/normal' because its name and closing delimiter are separated by characters other than white space 

Dec 20, 2012 11:53:11 AM net.htmlparser.jericho.LoggerProviderJava$JavaLogger error SEVERE: Encountered possible EndTag at (r1992,c60,p94048) whose content does not match a registered EndTagType 
Run Code Online (Sandbox Code Playgroud)

希望不会导致错误

好的伙计们,请有人解释一下!"edit_body".equals(el.getAttributeValue("class"))工作!!

ldo*_*oni 10

我现在有完全相同的问题.

我成功地通过使用:解决它SomeStringVar.replaceAll("\\P{Print}","");.

此命令删除变体中的所有Unicode字符(您无法看到的字符 - 字符串看起来相同,即使它们不相等).

我在均衡中需要的每个变体上使用此命令,它也适用于我.


Roh*_*ain 9

看起来你有领导尾随 空格在你的classname.

试试这个: -

if(classname.trim().equals("edit_body"))
Run Code Online (Sandbox Code Playgroud)

这将修剪末尾的任何空格.