2017-09-11 18 views

回答

1

我不知道你想要什么,所以这里有几个选项:

String text = "ab<tag>xyz</tag>cd"; 

// Between 
text.replaceAll("<tag>.+?<\/tag>", "<tag></tag>"); // ab<tag></tag>cd 

// Everything 
text.replaceAll("<tag>.+?<\/tag>", ""); // abcd 

// Only tags 
text.replaceAll("<\/?tag>", ""); // abxyzcd 

编辑:

问题w作为.+之后丢失的?。问号只匹配第一次出现,所以当存在多个标签时这是有效的。

+0

我的文本是' localhost:8080 // channels/2%f#aciZ7%Otz10iG)} Z!hjLk.jpeg okkk localhost:8080 // channels/z#oSUHToVrC8H!{pdz1qhsnz6。JPEG OK 本地主机:8080个//频道/ lWy6DXPqG74hblc#VfYpDX51P.jpeg .'和删除后' + <\/tag>'我必须有唯一的'okkk.',' + <\/tag>'不为我工作,结果只有一个点 –

+0

我编辑了我的答案,尝试在'+' –

+0

之后添加'?'谢谢,我的问题已解决 –

0

更改这个替换标记文本,

String nn1="<tag>TEXT</tag>"; 
nn1=nn1.replace("<tag>",""); 
nn1=nn1.replace("</tag>",""); 

String nn1="<tag>TEXT</tag>"; 
nn1=nn1.replaceAll("<tag>",""); 
nn1=nn1.replaceAll("</tag>",""); 

输出:TEXT

我希望这可以帮助你。

+0

我想删除与之间的文本 –

+0

所以要删除“ TEXT”这一切? 然后你的代码工作正常,但可能是你没有保存时​​做replaceAll它。 我的意思是,nn1 = nn1.replaceAll(“。+ /(tag)*>”,“”); – zephyr

0

您可以使用下面的正则表达式。

.replaceAll("<tag>.+</tag>", ""); 

这将删除所有标记,无论它是HTML还是XML标记。

+0

此代码删除所有html标记,但我想要删除与该 –

+0

之间的嵌套文本在这种情况下,您可以使用.replaceAll(“”,“”).replaceAll(“”,“”); – Avinash

+0

怎么样? –

0
public static void removeTAG() 
{ 
    String str = "<tag>Your Long String</tag>"; 
    for(int i=0;i<str.length();i++) 
    { 
     str = str.replace("<tag>", ""); 
     str = str.replace("</tag>", ""); 
    } 
    System.out.println(str); 
} 

这里我做了什么和产量预期

输出你的长字符串

相关问题