簡體   English   中英

Java中的身份不明的空白字符

[英]Unidentified whitespace character in Java

在從網頁中提取一些html時,我有一些元素包含以未知或不匹配的空白字符結尾的文本(即與“\\\\ s”不匹配):

<span>Monday </span>

在java中,為了檢查這個角色是什么,我正在做:

String s = getTheSpanContent();
char c = s.charAt(s.length() -1);
int i = (int) c;

而i的值是:160

有誰知道這是什么嗎? 我怎么能匹配呢?

謝謝

這是一個不間斷的空間 根據Pattern Javadocs\\\\s匹配[ \\t\\n\\x0B\\f\\r] ,所以如果你想匹配它,你必須明確地將\\xA0添加到你的正則表達式。

那是 ,也被稱為 空間 如果您了解HTML,您就會明白它與所代表的空間相同&nbsp; 顯然,有人使用它而不是正常空間。

嘗試使用它來匹配空格

Character.isSpaceChar(c) || c <= ' ';

我做了一次這個電子表格,向您展示了Java中使用的空格的一些不同定義。 它非常迷人(如果你像我一樣奇怪)。

http://spreadsheets.google.com/pub?key=pd8dAQyHbdewRsnE5x5GzKQ

順便提一下,Guava的CharMatcher.WHITESPACE跟蹤最新的Unicode 5.x標准,因此通常是比JDK方法更好的選擇。

http://guava-libraries.googlecode.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM