使用正则表达式将大写html属性转换为小写html属性

时间:2012-05-29 21:50:26

标签: java html

我正在尝试将大写html属性转换为小写,以使我的文档符合XHTML 1.0 ADA合规标准。

但是我无法获得所需的输出。下面是我用来执行此操作的代码片段。请帮助我。

private static String LowerCaseAttributes(String htmlfile){

        String[] attributes = new String[] { 
        "border-bottom", "margin", "padding","bgcolor","width", "border", 
        "style", "alt", "title", "for", "col", "header", "clear", 
        "colspan", "rows", "cols", "type", "name", "id", "target", "method" 
        }; 

        for(String s1 : attributes){ 
            htmlfile = htmlfile.replace(s1.toUpperCase() + "=", s1 + "="); 
        } 
        return htmlfile; 
    }  

2 个答案:

答案 0 :(得分:2)

我认为问题是你在替换方法中使用“=”,当你在输入中它有“:”时。

试试这个:

    for(String s1 : attributes){ 
        htmlfile = htmlfile.replaceAll(s1.toUpperCase() + ":", s1 + ":"); 
    } 

答案 1 :(得分:0)

正如@ c0deNinja所述,您需要使用:代替=。您定义的属性列表也只有BORDER-BOTTOM,它可能与您在注释中提供的示例字符串相匹配。您定义为BORDER-LEFT,BACKGROUND-COLOUR的属性列表中没有其他项String[]等。所以你可能没有看过那些。尝试添加整个列表。