在現有文章Java remove HTML from String without regular expressions的tucuxi的幫助下,我已經構建了一個方法來解析出字符串中的任何基本HTML標記。然而,有時候,原始字符串包含html十六進制字符,如&#x00E9(這是一個帶重音的e)。我已經開始添加將這些轉義字符轉換爲真實字符的功能。Java如何添加重音符號「e」到字符串?
您可能會問:爲什麼不使用正則表達式?還是第三方圖書館?不幸的是,我不能,因爲我正在開發一個不支持正則表達式的黑莓平臺,而且我從未能夠成功地將第三方庫添加到我的項目中。
所以,我已經到了任何&#x00E9被替換爲「e」的點。我現在的問題是,我如何在字符串中添加一個實際的'重音e'?
這裏是我的代碼:
公共靜態字符串removeHTML(字符串簡介){
char[] cs = synopsis.toCharArray();
String sb = new String();
boolean tag = false;
for (int i = 0; i < cs.length; i++) {
switch (cs[i]) {
case '<':
if (!tag) {
tag = true;
break;
}
case '>':
if (tag) {
tag = false;
break;
}
case '&':
char[] copyTo = new char[7];
System.arraycopy(cs, i, copyTo, 0, 7);
String result = new String(copyTo);
if (result.equals("é")) {
sb += "e";
}
i += 7;
break;
default:
if (!tag)
sb += cs[i];
}
}
return sb.toString();
}
謝謝!
誰投了下來?爲什麼? – Joel 2010-04-18 04:37:45
@Joel:我想知道同樣的事情...... – Jaxidian 2010-04-18 04:39:52