Java Jsoup返回的字符串"&引用;在等于时不返回true(“";”)
当我遇到以下情况时,只是四处玩耍并从站点中提取一些数据进行操作:Java Jsoup返回的字符串"&引用;在等于时不返回true(“";”),java,jsoup,equals,Java,Jsoup,Equals,当我遇到以下情况时,只是四处玩耍并从站点中提取一些数据进行操作: String request = "http://foo"; String data = "bar"; Connection.Response res = Jsoup.connect(request).data(data).method(Method.POST).execute(); Document doc = res.parse(); Elements all = doc.select("td"); for(Element
String request = "http://foo";
String data = "bar";
Connection.Response res = Jsoup.connect(request).data(data).method(Method.POST).execute();
Document doc = res.parse();
Elements all = doc.select("td");
for(Element elem : all){
String test = elem.text();
if(test.equals(" ")){
//redefine test to 0 and print it
}
else{
//print it
}
所述现场的编码如下:
<td align="center">Henry</td>
<td>23</td>
<td align="center">Savannah</td>
<td>15</td></tr>
...
<td align="center"> </td>
<td> </td>
<td align="center">Jane</td>
<td>15</td></tr>
它返回真的
给出了什么?我不知道您是否控制了响应正文中发送的HTML,或者您是否在浏览器的源页面或其他地方看到了HTML
<td> </td>
因此,您可以只检查char
两个值,一个用于空格,另一个用于非中断空格
请注意,可能还有其他代码点表示为空白。你需要知道你在寻找什么。试着准确地检查调试器中的
test.charAt(0)
是什么。这很奇怪。是否有其他正在运行的线程可能正在更改test
@ᴍ阿伦ᴍ没有其他线程<代码>测试仅在for循环中定义。@patterned:不,它只显示它是空白。您想查看Unicode字符号。在我看来,调试器屏幕截图根本没有显示test.charAt(0)
的返回值。请执行System.out.println((int)test.charAt(0))
并将其与System.out.println((int)”.charAt(0))
进行比较。
<td> </td>
<td> </td> // or  
char nbsp = 160;