lit*_*leK 4 html java parsing character diacritics
在现有Java后的tucuxi的帮助下,从没有正则表达式的String中删除HTML,我已经构建了一个方法,可以从字符串中解析出任何基本HTML标记.但是,有时原始字符串包含html十六进制字符,如é(这是一个重音e).我已经开始添加将这些转义字符转换为真实字符的功能.
您可能会问:为什么不使用正则表达式?还是第三方图书馆?不幸的是,我不能,因为我在不支持正则表达式的BlackBerry平台上开发,我从来没有能够成功地将第三方库添加到我的项目中.
所以,我已经到了任何é被"e"替换的地步.我现在的问题是,如何在字符串中添加实际的"重音e"?
这是我的代码:
public static String removeHTML(String synopsis){
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();
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
Java字符串是unicode.
sb += '\u00E9'; # lower case e + '
sb += '\u00C9'; # upper case E + '
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7507 次 |
| 最近记录: |