在tucuxi现有职位的帮助下Java 不使用正则表达式从 String 中删除 HTML https://stackoverflow.com/questions/2488967/java-remove-html-from-string-without-regular-expressions我构建了一个方法,可以从字符串中解析出任何基本的 HTML 标签。然而,有时原始字符串包含 html 十六进制字符,例如 é(这是带重音符号的 e)。我已经开始添加功能,将这些转义字符转换为真实字符。
您可能会问:为什么不使用正则表达式?或者第三方库?不幸的是我不能,因为我正在不支持正则表达式的黑莓平台上进行开发,并且我从未能够成功地将第三方库添加到我的项目中。
所以,我已经到了任何 é 都被替换为“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();
}
Thanks!
Java 字符串是 unicode。
sb += '\u00E9'; # lower case e + '
sb += '\u00C9'; # upper case E + '
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)