替换“字符串中尖括号内容”的3种方法

目标字符串:

发布(<span class="aaa">企业</span>类)-关于 <span class="bbb">某某某</span>的通知

方式一:用substring傻瓜式替换

		String str1 = "<span class=\"aaa\">";
		String str2 = "</span>";
		String str3 = "<span class=\"bbb\">";
		String tmp1 ="";
		String tmp2 ="";
		if(messageTitle.contains(str1)){
			tmp1 = messageTitle.substring(messageTitle.indexOf(str1)+str1.length(),messageTitle.indexOf(str2));
			messageTitle = messageTitle.replace(str1+tmp1+str2,tmp1);
			tmp2 = messageTitle.substring(messageTitle.indexOf(str3)+str3.length(),messageTitle.indexOf(str2));
			messageTitle = messageTitle.replace(str3+tmp2+str2,tmp2);
		}

缺点:如果 <span 换成  <div 就不能匹配了

方式二:循环替换

while (messageTitleTmp.contains("<")){
 messageTitleTmp = messageTitleTmp.replaceAll(messageTitleTmp.substring(messageTitleTmp.indexOf("<"),messageTitleTmp.indexOf(">")+1),"");
}

感觉还可以,但是还是有点麻烦,既然replaceAll支持正则,那必须要用上

方式三:正则替换

messageTitleTmp = messageTitleTmp.replaceAll("<(.*?)>","");

Guess you like

Origin blog.csdn.net/x18094/article/details/121562957