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;
}}