Java字符串与html标记的比较

Java字符串与html标记的比较,java,Java,我有两个字符串,如下所示: String input="<tr><td>Hello world</td></tr>"; String output="<body><tr><td>Hello world</td></tr></body>"; String input=“Hello world”; 字符串输出=“你好世界”; 我想比较这两个字符串,如果输入字符串不包含标记,则需

我有两个字符串,如下所示:

String input="<tr><td>Hello world</td></tr>";
String output="<body><tr><td>Hello world</td></tr></body>";
String input=“Hello world”;
字符串输出=“你好世界”;
我想比较这两个字符串,如果输入字符串不包含
标记,则需要从输出字符串中删除
标记。字符串可以是任意长度

如何根据输入字符串比较和替换输出字符串?
标记可以是类似于
或等的任何内容

需要找到标记并根据输入字符串替换它。

静态字符串[]组合=新字符串[]{
static String[] combinations = new String[] {
    "<body>","</body>","< body>","< /body>","<body >"
};

for (int i = 0; i < combinations.length; i++) {
    if (!input.contains(combinations[i])) {  
        output = output.replace(combinations[i], "");    
    }    
}
“,”,“,“,” }; 对于(int i=0;i
静态字符串[]组合=新字符串[]{
“,”,“,“,”
};
对于(int i=0;i
字符串结果输出=”;
如果(!(input.contains(“”)和(!(input.contains(“”)){
resultingOutput=output.replace(“,”).replace(“,”);
}
字符串结果输出=”;
如果(!(input.contains(“”)和(!(input.contains(“”)){
resultingOutput=output.replace(“,”).replace(“,”);
}
整数比较;
如果(!input.contains(“”)
比较=输出.replaceAll(“,”).replaceAll(“,”).compareTo(输入);
整数比较;
如果(!input.contains(“”)
比较=输出.replaceAll(“,”).replaceAll(“,”).compareTo(输入);
公共课堂练习{
公共静态void main(字符串[]args){
字符串输入=“你好世界”;
字符串输出=“你好世界”;
字符串标签=”;
字符串替换=”;
System.out.println(“输出:+验证(输入、输出、标记、替换));
}
私有静态字符串验证(字符串输入、字符串输出、字符串字、,
字符串替换){
如果(!(input.contains(word))和(!(input.contains(word))){
输出=输出。替换(字,替换)。替换(字,替换);
}
返回输出;
}}
公共课堂练习{
公共静态void main(字符串[]args){
字符串输入=“你好世界”;
字符串输出=“你好世界”;
字符串标签=”;
字符串替换=”;
System.out.println(“输出:+验证(输入、输出、标记、替换));
}
私有静态字符串验证(字符串输入、字符串输出、字符串字、,
字符串替换){
如果(!(input.contains(word))和(!(input.contains(word))){
输出=输出。替换(字,替换)。替换(字,替换);
}
返回输出;
}}

如果输入字符串不包含,可能是您的意思!input.contains..另外,您正在丢弃replace tag的结果,如果是这样,您的条件将失败rite..?@user1321824我注意到,但OP写道:如果输入字符串不包含tag。这让我有点困惑。。。我会将此作为注释提及。@O.D:)注释中的问题实际上来自OP。如果输入字符串不包含,可能是您的意思!input.contains..另外,您正在丢弃replace tag的结果,如果是这样,您的条件将失败rite..?@user1321824我注意到,但OP写道:如果输入字符串不包含tag。这让我有点困惑。。。我将此作为注释提及。@O.D:)注释中的问题实际上来自OP。虽然代码本身是正确的,但方法外部的输出实际上不会改变,字符串是不可变的。虽然代码本身是正确的,但方法外部的输出实际上不会改变,字符串是不可变的
 String resultingOutput = "";
 if( !(input.contains("<body>")) && !(input.contains("</body>")) ){
      resultingOutput = output.replace("<body>", "").replace("</body>","");
 }
int compare;
if (!input.contains("<body>"))
compare = output.replaceAll("<body>","").replaceAll("</body>","").compareTo(input);
public class Practice {

public static void main(String[] args) {
    String input = "<tr><td>Hello world</td></tr>";
    String output = "<body><tr><td>Hello world</td></tr></body>";
    String tag = "<body>";
    String replace = "";

    System.out.println("Output : " + validate(input, output, tag, replace));

}

private static String validate(String input, String output, String word,
        String replace) {

    if (!(input.contains(word)) && !(input.contains(word))) {
        output = output.replace(word, replace).replace(word, replace);
    }
    return output;

}}