我如何使这个方法更好:
String l = text;
// System.out.println("startet UmlautAnpassen");
l = l.replaceAll("$", "usd");
l = l.replaceAll("�", "xxx");
l = l.replaceAll("", "xxx");
l = l.replaceAll("Ä", "ä");
l = l.replaceAll("Ö", "ü");
l = l.replaceAll("Ãœ", "ö");
l = l.replaceAll("ä", "Ä");
l = l.replaceAll("ö", "Ü");
l = l.replaceAll("ü", "Ö");
l = l.replaceAll("ß", "ß");
if (l.contains("&#") && l.contains(";")) {
if ((l.contains("&#x") || l.contains("&#X")) && l.contains(";")) {
l = l.replaceAll("&#[xX]20;", " ");
l = l.replaceAll("&#[xX]21;", "!");
l = l.replaceAll("&#[xX]22;", "\"");
l = l.replaceAll("&#[xX]23;", "#");
l = l.replaceAll("&#[xX]24;", "usd");
l = l.replaceAll("&#[xX]25;", "%");
l = l.replaceAll("&#[xX]26;", "&");
l = l.replaceAll("&#[xX]27;", "'");
l = l.replaceAll("&#[xX]28;", "(");
l = l.replaceAll("&#[xX]29;", ")");
l = l.replaceAll("&#[xX]2A;", "*");
l = l.replaceAll("&#[xX]2B;", "+");
l = l.replaceAll("&#[xX]2C;", ",");
l = l.replaceAll("&#[xX]2D;", "-");
l = l.replaceAll("&#[xX]2E;", ".");
l = l.replaceAll("&#[xX]2F;", "/");
l = l.replaceAll("&#[xX]30;", "0");
l = l.replaceAll("&#[xX]31;", "1");
l = l.replaceAll("&#[xX]32;", "2");
l = l.replaceAll("&#[xX]33;", "3");
l = l.replaceAll("&#[xX]34;", "4");
l = l.replaceAll("&#[xX]35;", "5");
l = l.replaceAll("&#[xX]36;", "6");
l = l.replaceAll("&#[xX]37;", "7");
l = l.replaceAll("&#[xX]38;", "8");
l = l.replaceAll("&#[xX]39;", "9");
l = l.replaceAll("&#[xX]3A;", ":");
l = l.replaceAll("&#[xX]3B;", ";");
l = l.replaceAll("&#[xX]3C;", "<");
l = l.replaceAll("&#[xX]3D;", "=");
l = l.replaceAll("&#[xX]3E;", ">");
l = l.replaceAll("&#[xX]3F;", "?");
l = l.replaceAll("&#[xX]40;", "@");
l = l.replaceAll("&#[xX]41;", "A");
l = l.replaceAll("&#[xX]42;", "B");
l = l.replaceAll("&#[xX]43;", "C");
l = l.replaceAll("&#[xX]44;", "D");
l = l.replaceAll("&#[xX]45;", "E");
l = l.replaceAll("&#[xX]46;", "F");
l = l.replaceAll("&#[xX]47;", "G");
l = l.replaceAll("&#[xX]48;", "H");
l = l.replaceAll("&#[xX]49;", "I");
l = l.replaceAll("&#[xX]4A;", "J");
l = l.replaceAll("&#[xX]4B;", "K");
l = l.replaceAll("&#[xX]4C;", "L");
l = l.replaceAll("&#[xX]4D;", "M");
l = l.replaceAll("&#[xX]4E;", "N");
l = l.replaceAll("&#[xX]4F;", "O");
l = l.replaceAll("&#[xX]50;", "P");
l = l.replaceAll("&#[xX]51;", "Q");
l = l.replaceAll("&#[xX]52;", "R");
l = l.replaceAll("&#[xX]53;", "S");
l = l.replaceAll("&#[xX]54;", "T");
l = l.replaceAll("&#[xX]55;", "U");
l = l.replaceAll("&#[xX]56;", "V");
l = l.replaceAll("&#[xX]57;", "W");
l = l.replaceAll("&#[xX]58;", "X");
l = l.replaceAll("&#[xX]59;", "Y");
l = l.replaceAll("&#[xX]5A;", "Z");
l = l.replaceAll("&#[xX]5B;", "(");
l = l.replaceAll("&#[xX]5C;", "\\/");
l = l.replaceAll("&#[xX]5D;", ")");
l = l.replaceAll("&#[xX]5E;", "^");
l = l.replaceAll("&#[xX]5F;", "_");
l = l.replaceAll("&#[xX]60;", " ");
l = l.replaceAll("&#[xX]61;", "a");
l = l.replaceAll("&#[xX]62;", "b");
l = l.replaceAll("&#[xX]63;", "c");
l = l.replaceAll("&#[xX]64;", "d");
l = l.replaceAll("&#[xX]65;", "e");
l = l.replaceAll("&#[xX]66;", "f");
l = l.replaceAll("&#[xX]67;", "g");
l = l.replaceAll("&#[xX]68;", "h");
l = l.replaceAll("&#[xX]69;", "i");
l = l.replaceAll("&#[xX]6A;", "j");
l = l.replaceAll("&#[xX]6B;", "k");
l = l.replaceAll("&#[xX]6C;", "l");
l = l.replaceAll("&#[xX]6D;", "m");
l = l.replaceAll("&#[xX]6E;", "n");
l = l.replaceAll("&#[xX]6F;", "o");
l = l.replaceAll("&#[xX]70;", "p");
l = l.replaceAll("&#[xX]71;", "q");
l = l.replaceAll("&#[xX]72;", "r");
l = l.replaceAll("&#[xX]73;", "s");
l = l.replaceAll("&#[xX]74;", "t");
l = l.replaceAll("&#[xX]75;", "u");
l = l.replaceAll("&#[xX]76;", "v");
l = l.replaceAll("&#[xX]77;", "w");
l = l.replaceAll("&#[xX]78;", "x");
l = l.replaceAll("&#[xX]79;", "y");
l = l.replaceAll("&#[xX]7A;", "z");
l = l.replaceAll("&#[xX]7B;", "(");
l = l.replaceAll("&#[xX]7C;", "/");
l = l.replaceAll("&#[xX]7D;", ")");
l = l.replaceAll("&#[xX]7E;", "~");
l = l.replaceAll("&#[xX][aA]0;", " ");
l = l.replaceAll("&#[xX][aA]1;", "¡");
l = l.replaceAll("&#[xX][aA]2;", "cent");
l = l.replaceAll("&#[xX][aA]3;", "gbf");
l = l.replaceAll("&#[xX][aA]5;", "yen");
l = l.replaceAll("&#[xX][aA]7;", "§");
l = l.replaceAll("&#[xX][aA]9;", "copyright");
l = l.replaceAll("&#[xX][aA][bB]\\;", "<<");
l = l.replaceAll("&#[xX][aA][dD]\\;", "");
l = l.replaceAll("&#[xX][aA][eE]\\;", "reg");
l = l.replaceAll("&#[xX][bB]0;", "°");
l = l.replaceAll("&#[xX][bB]1;", "+/-");
l = l.replaceAll("&#[xX][bB]2;", "^2");
l = l.replaceAll("&#[xX][bB]3;", "^3");
l = l.replaceAll("&#[xX][bB]5;", "micro");
l = l.replaceAll("&#[xX][bB]7;", "-");
l = l.replaceAll("&#[xX][bB]8;", ",");
l = l.replaceAll("&#[xX][bB]9;", "^1");
l = l.replaceAll("&#[xX][bB][aA];", "º");
l = l.replaceAll("&#[xX][bB][bB];", ">>");
l = l.replaceAll("&#[xX][bB][cC];", "1/4");
l = l.replaceAll("&#[xX][bB][dD];", "1/2");
l = l.replaceAll("&#[xX][bB][eE];", "3/4");
l = l.replaceAll("&#[xX][bB][fF];", "¿");
l = l.replaceAll("&#[xX][cC]0;", "À");
l = l.replaceAll("&#[xX][cC]1;", "Á");
l = l.replaceAll("&#[xX][cC]2;", "Â");
l = l.replaceAll("&#[xX][cC]3;", "Â");
l = l.replaceAll("&#[xX][cC]4;", "Ä");
l = l.replaceAll("&#[xX][cC]5;", "Å");
l = l.replaceAll("&#[xX][cC]6;", "Æ");
l = l.replaceAll("&#[xX][cC]7;", "Ç");
l = l.replaceAll("&#[xX][cC]8;", "È");
l = l.replaceAll("&#[xX][cC]9;", "É");
l = l.replaceAll("&#[xX][cC][aA];", "Ê");
l = l.replaceAll("&#[xX][cC][bB];", "Ë");
l = l.replaceAll("&#[xX][cC][cC];", "Ì");
l = l.replaceAll("&#[xX][cC][dD];", "Í");
l = l.replaceAll("&#[xX][cC][eE];", "Î");
l = l.replaceAll("&#[xX][cC][fF];", "Ï");
l = l.replaceAll("&#[xX][dD]0;", "Ð");
l = l.replaceAll("&#[xX][dD]1;", "Ñ");
l = l.replaceAll("&#[xX][dD]2;", "Ò");
l = l.replaceAll("&#[xX][dD]3;", "Ó");
l = l.replaceAll("&#[xX][dD]4;", "Ô");
l = l.replaceAll("&#[xX][dD]5;", "Õ");
l = l.replaceAll("&#[xX][dD]6;", "Ö");
l = l.replaceAll("&#[xX][dD]7;", "×");
l = l.replaceAll("&#[xX][dD]8;", "Ø");
l = l.replaceAll("&#[xX][dD]9;", "Ù");
l = l.replaceAll("&#[xX][dD][aA];", "Ú");
l = l.replaceAll("&#[xX][dD][bB];", "Û");
l = l.replaceAll("&#[xX][dD][cC];", "Ü");
l = l.replaceAll("&#[xX][dD][dD];", "Ý");
l = l.replaceAll("&#[xX][dD][eE];", "Þ");
l = l.replaceAll("&#[xX][dD][fF];", "ß");
l = l.replaceAll("&#[xX][eE]0;", "à");
l = l.replaceAll("&#[xX][eE]1;", "á");
l = l.replaceAll("&#[xX][eE]2;", "â");
l = l.replaceAll("&#[xX][eE]3;", "ã");
l = l.replaceAll("&#[xX][eE]4;", "ä");
l = l.replaceAll("&#[xX][eE]5;", "å");
l = l.replaceAll("&#[xX][eE]6;", "æ");
l = l.replaceAll("&#[xX][eE]7;", "ç");
l = l.replaceAll("&#[xX][eE]8;", "è");
l = l.replaceAll("&#[xX][eE]9;", "é");
l = l.replaceAll("&#[xX][eE][aA];", "ê");
l = l.replaceAll("&#[xX][eE][bB];", "ë");
l = l.replaceAll("&#[xX][eE][cC];", "ì");
l = l.replaceAll("&#[xX][eE][dD];", "í");
l = l.replaceAll("&#[xX][eE][eE];", "î");
l = l.replaceAll("&#[xX][eE][fF];", "ï");
l = l.replaceAll("&#[xX][fF]0;", "ð");
l = l.replaceAll("&#[xX][fF]1;", "ñ");
l = l.replaceAll("&#[xX][fF]2;", "ò");
l = l.replaceAll("&#[xX][fF]3;", "ó");
l = l.replaceAll("&#[xX][fF]4;", "ô");
l = l.replaceAll("&#[xX][fF]5;", "õ");
l = l.replaceAll("&#[xX][fF]6;", "ö");
l = l.replaceAll("&#[xX][fF]7;", "÷");
l = l.replaceAll("&#[xX][fF]8;", "ø");
l = l.replaceAll("&#[xX][fF]9;", "ù");
l = l.replaceAll("&#[xX][fF][aA];", "ú");
l = l.replaceAll("&#[xX][fF][bB];", "û");
l = l.replaceAll("&#[xX][fF][cC];", "ü");
l = l.replaceAll("&#[xX][fF][dD];", "ý");
l = l.replaceAll("&#[xX][fF][eE];", "þ");
l = l.replaceAll("&#[xX][fF][fF];", "ÿ");
l = l.replaceAll("&#[xX]\\w{2};", " ");
} // end if ((l.contains("&#[xX]") || l.contains("&#X"))||
// l.contains(";"))
if (l.contains("&#") && l.contains(";")) {
l = l.replaceAll("ƒ", "ƒ");
l = l.replaceAll("…", "...");
l = l.replaceAll("Š", "Š");
l = l.replaceAll("‰", "promille");
l = l.replaceAll("Œ", "Œ");
l = l.replaceAll("š", "š");
l = l.replaceAll("œ", "œ");
l = l.replaceAll(" ", " ");
l = l.replaceAll("¡", "¡");
l = l.replaceAll("¢", "cent");
l = l.replaceAll("£", "gbf");
l = l.replaceAll("¥", "yen");
l = l.replaceAll("§", "§");
l = l.replaceAll("©", "copyright");
l = l.replaceAll("«", "<<");
l = l.replaceAll("­", "");
l = l.replaceAll("®", "reg");
l = l.replaceAll("°", "°");
l = l.replaceAll("±", "+/-");
l = l.replaceAll("²", "^2");
l = l.replaceAll("³", "^3");
l = l.replaceAll("´", " ");
l = l.replaceAll("µ", "micro");
l = l.replaceAll("¸", ",");
l = l.replaceAll("¹", "^1");
l = l.replaceAll("º", "º");
l = l.replaceAll("»", ">>");
l = l.replaceAll("¼", "1/4");
l = l.replaceAll("½", "1/2");
l = l.replaceAll("¾", "3/4");
l = l.replaceAll("¿", "¿");
l = l.replaceAll("À", "À");
l = l.replaceAll("Á", "Á");
l = l.replaceAll("Â", "Â");
l = l.replaceAll("Ã", "Ã");
l = l.replaceAll("Ä", "Ä");
l = l.replaceAll("Å", "Å");
l = l.replaceAll("Æ", "Æ");
l = l.replaceAll("Ç", "Ç");
l = l.replaceAll("È", "È");
l = l.replaceAll("É", "É");
l = l.replaceAll("Ê", "Ê");
l = l.replaceAll("Ë", "Ë");
l = l.replaceAll("Ì", "Ì");
l = l.replaceAll("Í", "Í");
l = l.replaceAll("Î", "Î");
l = l.replaceAll("Ï", "Ï");
l = l.replaceAll("Ð", "Ð");
l = l.replaceAll("Ñ", "Ñ");
l = l.replaceAll("Ò", "Ò");
l = l.replaceAll("Ó", "Ó");
l = l.replaceAll("Ô", "Ô");
l = l.replaceAll("Õ", "Õ");
l = l.replaceAll("Ö", "Ö");
l = l.replaceAll("×", "x");
l = l.replaceAll("Ø", "Ø");
l = l.replaceAll("Ù", "Ù");
l = l.replaceAll("Ú", "Ú");
l = l.replaceAll("Û", "Û");
l = l.replaceAll("Ü", "Ü");
l = l.replaceAll("Ý", "Ý");
l = l.replaceAll("Þ", "Þ");
l = l.replaceAll("ß", "ß");
l = l.replaceAll("à", "à");
l = l.replaceAll("á", "á");
l = l.replaceAll("â", "â");
l = l.replaceAll("ã", "ã");
l = l.replaceAll("ä", "ä");
l = l.replaceAll("å", "å");
l = l.replaceAll("æ", "æ");
l = l.replaceAll("ç", "ç");
l = l.replaceAll("è", "è");
l = l.replaceAll("é", "é");
l = l.replaceAll("ê", "ê");
l = l.replaceAll("ë", "ë");
l = l.replaceAll("ì", "ì");
l = l.replaceAll("í", "í");
l = l.replaceAll("î", "î");
l = l.replaceAll("ï", "ï");
l = l.replaceAll("ð", "ð");
l = l.replaceAll("ñ", "ñ");
l = l.replaceAll("ò", "ò");
l = l.replaceAll("ó", "ó");
l = l.replaceAll("ô", "ô");
l = l.replaceAll("õ", "õ");
l = l.replaceAll("ö", "ö");
l = l.replaceAll("÷", "÷");
l = l.replaceAll("ø", "ø");
l = l.replaceAll("ù", "ù");
l = l.replaceAll("ú", "ú");
l = l.replaceAll("û", "û");
l = l.replaceAll("ü", "ü");
l = l.replaceAll("ý", "ý");
l = l.replaceAll("þ", "þ");
l = l.replaceAll("ÿ", "ÿ");
l = l.replaceAll(""", "\"");
l = l.replaceAll("&", "&");
l = l.replaceAll("<", "<");
l = l.replaceAll(">", ">");
l = l.replaceAll("'", "\'");
l = l.replaceAll("™", "eur");
l = l.replaceAll("√", "/");
l = l.replaceAll("&#\\d{2,5};", " ");
} // end if (l.contains("&#") && l.contains(";"))
if (l.contains("&") && l.contains(";")) {
l = l.replaceAll(" ", " ");
l = l.replaceAll("¡", "¡");
l = l.replaceAll("¢", "cent");
l = l.replaceAll("£", "gbf");
l = l.replaceAll("¥", "yen");
l = l.replaceAll("€", "eur");
l = l.replaceAll("©", "copyright");
l = l.replaceAll("«", "<<");
l = l.replaceAll("®", "reg");
l = l.replaceAll("°", "°");
l = l.replaceAll("±", "+/-");
l = l.replaceAll("&permill;", "promille");
l = l.replaceAll("µ", "micro");
l = l.replaceAll("√", "wurzel");
l = l.replaceAll("º", "º");
l = l.replaceAll("»", ">>");
l = l.replaceAll("¼", "1/4");
l = l.replaceAll("½", "1/2");
l = l.replaceAll("¾", "3/4");
l = l.replaceAll("¿", "¿");
l = l.replaceAll("À", "À");
l = l.replaceAll("Á", "Á");
l = l.replaceAll("Â", "Â");
l = l.replaceAll("Ã", "Ã");
l = l.replaceAll("Ä", "Ä");
l = l.replaceAll("Å", "Å");
l = l.replaceAll("Æ", "Æ");
l = l.replaceAll("Ç", "Ç");
l = l.replaceAll("È", "È");
l = l.replaceAll("É", "É");
l = l.replaceAll("Ê", "Ê");
l = l.replaceAll("Ë", "Ë");
l = l.replaceAll("Ì", "Ì");
l = l.replaceAll("Í", "Í");
l = l.replaceAll("Î", "Î");
l = l.replaceAll("Ï", "Ï");
l = l.replaceAll("Ð", "Ð");
l = l.replaceAll("Ñ", "Ñ");
l = l.replaceAll("Ò", "Ò");
l = l.replaceAll("Ó", "Ó");
l = l.replaceAll("Ô", "Ô");
l = l.replaceAll("Õ", "Õ");
l = l.replaceAll("Ö", "Ö");
l = l.replaceAll("Œ", "Œ");
l = l.replaceAll("×", "x");
l = l.replaceAll("Ø", "Ø");
l = l.replaceAll("Ù", "Ù");
l = l.replaceAll("Ú", "Ú");
l = l.replaceAll("Û", "Û");
l = l.replaceAll("Ü", "Ü");
l = l.replaceAll("Ý", "Ý");
l = l.replaceAll("Þ", "Þ");
l = l.replaceAll("ß", "ß");
l = l.replaceAll("à", "à");
l = l.replaceAll("á", "á");
l = l.replaceAll("â", "â");
l = l.replaceAll("ã", "ã");
l = l.replaceAll("ä", "ä");
l = l.replaceAll("å", "å");
l = l.replaceAll("æ", "æ");
l = l.replaceAll("ç", "ç");
l = l.replaceAll("è", "è");
l = l.replaceAll("é", "é");
l = l.replaceAll("ê", "ê");
l = l.replaceAll("ë", "ë");
l = l.replaceAll("ì", "ì");
l = l.replaceAll("í", "í");
l = l.replaceAll("î", "î");
l = l.replaceAll("ï", "ï");
l = l.replaceAll("ð", "ð");
l = l.replaceAll("ñ", "ñ");
l = l.replaceAll("ò", "ò");
l = l.replaceAll("ó", "ó");
l = l.replaceAll("ô", "ô");
l = l.replaceAll("õ", "õ");
l = l.replaceAll("ö", "ö");
l = l.replaceAll("œ", "œ");
l = l.replaceAll("÷", "/");
l = l.replaceAll("ø", "ø");
l = l.replaceAll("ù", "ù");
l = l.replaceAll("ú", "ú");
l = l.replaceAll("û", "û");
l = l.replaceAll("ü", "ü");
l = l.replaceAll("ý", "ý");
l = l.replaceAll("þ", "þ");
l = l.replaceAll("ÿ", "ÿ");
l = l.replaceAll("ÿ", "ÿ");
l = l.replaceAll(""", "\"");
l = l.replaceAll("&", "&");
l = l.replaceAll("<", "<");
l = l.replaceAll(">", ">");
l = l.replaceAll("&\\w{3,8};", " ");
} // end if (l.contains("&") && l.contains(";"))
if ((l.contains("<u+00") || l.contains("<U+00")) && l.contains(">")) {
l = l.replaceAll("<[uU]+0021>", " !");
l = l.replaceAll("<[uU]+0022>", " \"");
l = l.replaceAll("<[uU]+0023>", " #");
l = l.replaceAll("<[uU]+0024>", " usd");
l = l.replaceAll("<[uU]+0025>", " %");
l = l.replaceAll("<[uU]+0026>", " &");
l = l.replaceAll("<[uU]+0027>", " \'");
l = l.replaceAll("<[uU]+0028>", " (");
l = l.replaceAll("<[uU]+0029>", " )");
l = l.replaceAll("<[uU]+002[aA]>", " *");
l = l.replaceAll("<[uU]+002[bB]>", " +");
l = l.replaceAll("<[uU]+002[cC]>", " ,");
l = l.replaceAll("<[uU]+002[dD]>", " -");
l = l.replaceAll("<[uU]+002[eE]>", " .");
l = l.replaceAll("<[uU]+002[fF]>", " /");
l = l.replaceAll("<[uU]+0030>", " 0");
l = l.replaceAll("<[uU]+0031>", " 1");
l = l.replaceAll("<[uU]+0032>", " 2");
l = l.replaceAll("<[uU]+0033>", " 3");
l = l.replaceAll("<[uU]+0034>", " 4");
l = l.replaceAll("<[uU]+0035>", " 5");
l = l.replaceAll("<[uU]+0036>", " 6");
l = l.replaceAll("<[uU]+0037>", " 7");
l = l.replaceAll("<[uU]+0038>", " 8");
l = l.replaceAll("<[uU]+0039>", " 9");
l = l.replaceAll("<[uU]+003[aA]>", " :");
l = l.replaceAll("<[uU]+003[bB]>", " ;");
l = l.replaceAll("<[uU]+003[cC]>", " <");
l = l.replaceAll("<[uU]+003[dD]>", " =");
l = l.replaceAll("<[uU]+003[eE]>", " >");
l = l.replaceAll("<[uU]+003[fF]>", " ?");
l = l.replaceAll("<[uU]+0040>", " @");
l = l.replaceAll("<[uU]+0041>", " A");
l = l.replaceAll("<[uU]+0042>", " B");
l = l.replaceAll("<[uU]+0043>", " C");
l = l.replaceAll("<[uU]+0044>", " D");
l = l.replaceAll("<[uU]+0045>", " E");
l = l.replaceAll("<[uU]+0046>", " F");
l = l.replaceAll("<[uU]+0047>", " G");
l = l.replaceAll("<[uU]+0048>", " H");
l = l.replaceAll("<[uU]+0049>", " I");
l = l.replaceAll("<[uU]+004[aA]>", " J");
l = l.replaceAll("<[uU]+004[bB]>", " K");
l = l.replaceAll("<[uU]+004[cC]>", " L");
l = l.replaceAll("<[uU]+004[dD]>", " M");
l = l.replaceAll("<[uU]+004[eE]>", " N");
l = l.replaceAll("<[uU]+004[fF]>", " O");
l = l.replaceAll("<[uU]+0050>", " P");
l = l.replaceAll("<[uU]+0051>", " Q");
l = l.replaceAll("<[uU]+0052>", " R");
l = l.replaceAll("<[uU]+0053>", " S");
l = l.replaceAll("<[uU]+0054>", " T");
l = l.replaceAll("<[uU]+0055>", " U");
l = l.replaceAll("<[uU]+0056>", " V");
l = l.replaceAll("<[uU]+0057>", " W");
l = l.replaceAll("<[uU]+0058>", " X");
l = l.replaceAll("<[uU]+0059>", " Y");
l = l.replaceAll("<[uU]+005[aA]>", " Z");
l = l.replaceAll("<[uU]+005[bB]>", " (");
l = l.replaceAll("<[uU]+005[cC]>", " \\");
l = l.replaceAll("<[uU]+005[dD]>", " )");
l = l.replaceAll("<[uU]+005[eE]>", " ^");
l = l.replaceAll("<[uU]+005[fF]>", " _");
l = l.replaceAll("<[uU]+0061>", " a");
l = l.replaceAll("<[uU]+0062>", " b");
l = l.replaceAll("<[uU]+0063>", " c");
l = l.replaceAll("<[uU]+0064>", " d");
l = l.replaceAll("<[uU]+0065>", " e");
l = l.replaceAll("<[uU]+0066>", " f");
l = l.replaceAll("<[uU]+0067>", " g");
l = l.replaceAll("<[uU]+0068>", " h");
l = l.replaceAll("<[uU]+0069>", " i");
l = l.replaceAll("<[uU]+006[aA]>", " j");
l = l.replaceAll("<[uU]+006[bB]>", " k");
l = l.replaceAll("<[uU]+006[cC]>", " l");
l = l.replaceAll("<[uU]+006[dD]>", " m");
l = l.replaceAll("<[uU]+006[eE]>", " n");
l = l.replaceAll("<[uU]+006[fF]>", " o");
l = l.replaceAll("<[uU]+0070>", " p");
l = l.replaceAll("<[uU]+0071>", " q");
l = l.replaceAll("<[uU]+0072>", " r");
l = l.replaceAll("<[uU]+0073>", " s");
l = l.replaceAll("<[uU]+0074>", " t");
l = l.replaceAll("<[uU]+0075>", " u");
l = l.replaceAll("<[uU]+0076>", " v");
l = l.replaceAll("<[uU]+0077>", " w");
l = l.replaceAll("<[uU]+0078>", " x");
l = l.replaceAll("<[uU]+0079>", " y");
l = l.replaceAll("<[uU]+007[aA]>", " z");
l = l.replaceAll("<[uU]+00[aA]1>", " ¡");
l = l.replaceAll("<[uU]+00[aA]2>", " cent");
l = l.replaceAll("<[uU]+00[aA]3>", " gbf");
l = l.replaceAll("<[uU]+00[aA]5>", " yen");
l = l.replaceAll("<[uU]+00[aA]7>", " §");
l = l.replaceAll("<[uU]+00[aA]9>", " copyright");
l = l.replaceAll("<[uU]+00[aA][aA]>", " ª");
l = l.replaceAll("<[uU]+00[aA][bB]>", " <<");
l = l.replaceAll("<[uU]+00[aA][dD]>", " ");
l = l.replaceAll("<[uU]+00[aA][eE]>", " reg");
l = l.replaceAll("<[uU]+00[bB]0>", " °");
l = l.replaceAll("<[uU]+00[bB]1>", " +/-");
l = l.replaceAll("<[uU]+00[bB]2>", " ^2");
l = l.replaceAll("<[uU]+00[bB]3>", " ^3");
l = l.replaceAll("<[uU]+00[bB]5>", " micro");
l = l.replaceAll("<[uU]+00[bB]7>", " -");
l = l.replaceAll("<[uU]+00[bB]8>", " ,");
l = l.replaceAll("<[uU]+00[bB]9>", " ^1");
l = l.replaceAll("<[uU]+00[bB][aA]>", " º");
l = l.replaceAll("<[uU]+00[bB][bB]>", " >>");
l = l.replaceAll("<[uU]+00[bB][cC]>", " 1/4");
l = l.replaceAll("<[uU]+00[bB][dD]>", " 1/2");
l = l.replaceAll("<[uU]+00[bB][eE]>", " 3/4");
l = l.replaceAll("<[uU]+00[bB][fF]>", " ¿");
l = l.replaceAll("<[uU]+00[cC]0>", " À");
l = l.replaceAll("<[uU]+00[cC]1>", " Á");
l = l.replaceAll("<[uU]+00[cC]2>", " Â");
l = l.replaceAll("<[uU]+00[cC]3>", " Ã");
l = l.replaceAll("<[uU]+00[cC]4>", " Ä");
l = l.replaceAll("<[uU]+00[cC]5>", " Å");
l = l.replaceAll("<[uU]+00[cC]6>", " Æ");
l = l.replaceAll("<[uU]+00[cC]7>", " Ç");
l = l.replaceAll("<[uU]+00[cC]8>", " È");
l = l.replaceAll("<[uU]+00[cC]9>", " É");
l = l.replaceAll("<[uU]+00[cC][aA]>", " Ê");
l = l.replaceAll("<[uU]+00[cC][bB]>", " Ë");
l = l.replaceAll("<[uU]+00[cC][cC]>", " Ì");
l = l.replaceAll("<[uU]+00[cC][dD]>", " Í");
l = l.replaceAll("<[uU]+00[cC][eE]>", " Î");
l = l.replaceAll("<[uU]+00[cC][fF]>", " Ï");
l = l.replaceAll("<[uU]+00[dD]0>", " Ð");
l = l.replaceAll("<[uU]+00[dD]1>", " Ñ");
l = l.replaceAll("<[uU]+00[dD]2>", " Ò");
l = l.replaceAll("<[uU]+00[dD]3>", " Ó");
l = l.replaceAll("<[uU]+00[dD]4>", " Ô");
l = l.replaceAll("<[uU]+00[dD]5>", " Õ");
l = l.replaceAll("<[uU]+00[dD]6>", " Ö");
l = l.replaceAll("<[uU]+00[dD]7>", " ×");
l = l.replaceAll("<[uU]+00[dD]8>", " Ø");
l = l.replaceAll("<[uU]+00[dD]9>", " Ù");
l = l.replaceAll("<[uU]+00[dD][aA]>", " Ú");
l = l.replaceAll("<[uU]+00[dD][bB]>", " Û");
l = l.replaceAll("<[uU]+00[dD][cC]>", " Ü");
l = l.replaceAll("<[uU]+00[dD][dD]>", " Ý");
l = l.replaceAll("<[uU]+00[dD][eE]>", " Þ");
l = l.replaceAll("<[uU]+00[dD][fF]>", " ß");
l = l.replaceAll("<[uU]+00[eE]0>", " à");
l = l.replaceAll("<[uU]+00[eE]1>", " á");
l = l.replaceAll("<[uU]+00[eE]2>", " â");
l = l.replaceAll("<[uU]+00[eE]3>", " ã");
l = l.replaceAll("<[uU]+00[eE]4>", " ä");
l = l.replaceAll("<[uU]+00[eE]5>", " å");
l = l.replaceAll("<[uU]+00[eE]6>", " æ");
l = l.replaceAll("<[uU]+00[eE]7>", " ç");
l = l.replaceAll("<[uU]+00[eE]8>", " è");
l = l.replaceAll("<[uU]+00[eE]9>", " é");
l = l.replaceAll("<[uU]+00[eE][aA]>", " ê");
l = l.replaceAll("<[uU]+00[eE][bB]>", " ë");
l = l.replaceAll("<[uU]+00[eE][cC]>", " ì");
l = l.replaceAll("<[uU]+00[eE][dD]>", " í");
l = l.replaceAll("<[uU]+00[eE][eE]>", " î");
l = l.replaceAll("<[uU]+00[eE][fF]>", " ï");
l = l.replaceAll("<[uU]+00[fF]0>", " ð");
l = l.replaceAll("<[uU]+00[fF]1>", " ñ");
l = l.replaceAll("<[uU]+00[fF]2>", " ò");
l = l.replaceAll("<[uU]+00[fF]3>", " ó");
l = l.replaceAll("<[uU]+00[fF]4>", " ô");
l = l.replaceAll("<[uU]+00[fF]5>", " õ");
l = l.replaceAll("<[uU]+00[fF]6>", " ö");
l = l.replaceAll("<[uU]+00[fF]7>", " /");
l = l.replaceAll("<[uU]+00[fF]8>", " ø");
l = l.replaceAll("<[uU]+00[fF]9>", " ù");
l = l.replaceAll("<[uU]+00[fF][aA]>", " ú");
l = l.replaceAll("<[uU]+00[fF][bB]>", " û");
l = l.replaceAll("<[uU]+00[fF][cC]>", " ü");
l = l.replaceAll("<[uU]+00[fF][dD]>", " ý");
l = l.replaceAll("<[uU]+00[fF][eE]>", " þ");
l = l.replaceAll("<[uU]+00[fF][fF]>", " ÿ");
l = l.replaceAll("<[uU]+00\\w{2}>", " ");
} // end if (l.contains("<[uU]+00") && l.contains(">"))
l = l.replaceAll("©", "copyright");
}
我找到了StringEscapeUtils.unescapeHtml4(l),但它似乎没有得到与l.equals()为false相同的结果。
我可以使用什么函数来逃避具有更好性能的角色(在这种情况下性能非常重要)?
答案 0 :(得分:2)
您可能会扫描整个字符串数百次。
唐&#39;吨
一次处理一个字符以识别您感兴趣的令牌,并使用查找表(HashMap)将每个令牌转换为所需的输出。
答案 1 :(得分:1)
StringEscapeUtils
unescape方法不支持HTML4和HTML5命名字符引用的完整列表,也不支持完整的Unicode字符集(仅限U + FFFF)。
对于HTML unescaping,我建议你使用 Unbescape [http://www.unbescape.org],我是其中的作者。您正在执行的所有HTML unescaping操作都可以使用Unbescape完成,只需:
final String result = HtmlEscape.unescapeHtml(l);
...它只会对您的文字执行一次传递,而不是像每次replaceAll
调用那样执行数百次传递。
除了HTML unescaping之外,您还会执行<U+0025> --> '&'
之类的奇怪翻译或'Ãœ' --> 'ö'
之类的翻译。这些是您特定方案的要求吗?这些不是HTML unescape操作...... <U+0025>
不是HTML转义,而Ãœ
基本上是错误编码的字符串,问题不在于你如何写它们而是你如何读< / em>它们在输入流中(Java中的字符串不具有编码 - 在从输入/输出流读取或写入输入/输出流时,应正确设置编码)。 / p>
最后请注意,即使在 HTML unescaping 操作中,也有奇怪的和非标准的操作,例如'&#[xX]24;' --> 'usd'
而不是'&#[xX]24;' --> '$'
。这些都是故意制造的吗?