1.去掉HTML标签:

/**
* 去掉HTML外面的标签
* @author CY
*
*/
public class TrimHTML {
public static void main(String[] args) {
String d3 = "<div id='mylinks'><a id='blog_nav_sitehome' class='menu' href='http://www.cnblogs.com/'>博客园</a> &nbsp;<a id='blog_nav_myhome' class='menu' href='http://www.cnblogs.com/tenWood/'>首页</a> &nbsp;<a id='blog_nav_newpost' class='menu' rel='nofollow' href='https://i.cnblogs.com/EditPosts.aspx?opt=1'>新随笔</a> &nbsp;<a id='blog_nav_contact' class='menu' rel='nofollow' href='https://msg.cnblogs.com/send/%E6%9C%89%E7%82%B9%E6%87%92%E6%83%B0%E7%9A%84%E5%B0%8F%E9%9D%92%E5%B9%B4'>联系</a> &nbsp;<a id='blog_nav_rss' class='menu' href='http://www.cnblogs.com/tenWood/rss'>订阅</a><a id='blog_nav_rss_image' href='http://www.cnblogs.com/tenWood/rss'><img src='//www.cnblogs.com/images/xml.gif' alt='订阅'></a>&nbsp;<a id='blog_nav_admin' class='menu' rel='nofollow' href='https://i.cnblogs.com/'>管理</a></div>";
String result = d3.replaceAll("<[^<>]+>", "");
System.out.println(result);
}
}

打印如下:

博客园 &nbsp;首页 &nbsp;新随笔 &nbsp;联系 &nbsp;订阅&nbsp;管理

方法二:(参考博客:http://www.cnblogs.com/devinzhang/archive/2012/05/09/2491619.html

public class TrimHTML2 {
public static void main(String[] args) {
String d3 = "<div id='mylinks'><a id='blog_nav_sitehome' class='menu' href='http://www.cnblogs.com/'>博客园</a> &nbsp;<a id='blog_nav_myhome' class='menu' href='http://www.cnblogs.com/tenWood/'>首页</a> &nbsp;<a id='blog_nav_newpost' class='menu' rel='nofollow' href='https://i.cnblogs.com/EditPosts.aspx?opt=1'>新随笔</a> &nbsp;<a id='blog_nav_contact' class='menu' rel='nofollow' href='https://msg.cnblogs.com/send/%E6%9C%89%E7%82%B9%E6%87%92%E6%83%B0%E7%9A%84%E5%B0%8F%E9%9D%92%E5%B9%B4'>联系</a> &nbsp;<a id='blog_nav_rss' class='menu' href='http://www.cnblogs.com/tenWood/rss'>订阅</a><a id='blog_nav_rss_image' href='http://www.cnblogs.com/tenWood/rss'><img src='//www.cnblogs.com/images/xml.gif' alt='订阅'></a>&nbsp;<a id='blog_nav_admin' class='menu' rel='nofollow' href='https://i.cnblogs.com/'>管理</a></div>我是尾巴"; Pattern p = Pattern.compile("<([^>]*)>", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(d3);
StringBuffer sb = new StringBuffer();
while(m.find()){
m.appendReplacement(sb, "");
}
m.appendTail(sb);
System.out.println(sb.toString());
}
}

打印:

博客园 &nbsp;首页 &nbsp;新随笔 &nbsp;联系 &nbsp;订阅&nbsp;管理我是尾巴

------

java正则表达式实战例子,持续更新,记下来后面就不用重新写了。。。的更多相关文章

  1. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  2. Java正则表达式匹配例子

    Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...

  3. Effective Java通俗理解(持续更新)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...

  4. Java同步学习(持续更新)

    在需要考虑线程安全性的场合,可以考虑以下五种方式来实现线程的安全性: 1.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,   ...

  5. 从零开始学Java——个人笔记(持续更新中)

    从零开始学Java 学习流程 第一阶段:建立编程思想 Java概述 变量 运算符 控制结构 数组.排序和查找 面向对象编程(基础) 面向对象编程(中级) 项目&学习以致用 编程之乐 第二阶段: ...

  6. Java学习笔记【持续更新】

    一个简单的java程序如下: class Sakura { public static void main(String[] arges) { system.out.println("Hel ...

  7. java编程规范(持续更新)

    1:非空判断 错误例子: if(user.getUserName().equals("hollis")){ } 这段代码极有可能在实际运行的时候跑出NullPointerExcep ...

  8. Java基础知识(持续更新中...)

    1.成员变量:全局变量/字段(Field),不要称之为属性(错误)直接定义在类中,方法外面 1.类成员变量    使用static修饰的变量 2.实例成员变量 没用使用static修饰的变量 局部变量 ...

  9. Electorn(桌面应用)自动化测试之Java+selenium实战例子

    基于electorn的桌面应用,网上相关资料较少.所有记录一下.使用java+selenium+testng对该类型应用的自动化测试方法. 代码样例 package com.contract.web. ...

随机推荐

  1. HDU 3709 Balanced Number(数位DP)题解

    思路: 之前想直接开左右两边的数结果爆内存... 枚举每次pivot的位置,然后数位DP,如果sum<0返回0,因为已经小于零说明已经到了pivot右边,继续dfs只会越来越小,且dp数组会炸 ...

  2. about SpringBoot学习后记

    <SpringBoot实战>第一章节入门的名称为Spring风云再起 看起来Spring的功能确实受Java开发者喜爱 在SpringBoot中,继续将Spring框架做了另一次的封装使框 ...

  3. Codeforces Round #394 (Div. 2) A,B,C,D,E

    A. Dasha and Stairs time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  4. Vue.js 计算属性是什么

    Vue.js 计算属性是什么 一.总结 一句话总结: 模板 表达式 维护 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ...

  5. 前端框架MVVM是什么(整理)

    前端框架MVVM是什么(整理) 一.总结 一句话总结:vm层(视图模型层)通过接口从后台m层(model层)请求数据,vm层继而和v(view层)实现数据的双向绑定. 1.我大前端应该不应该做复杂的数 ...

  6. C#中as和is关键字

    一. as 运算符用于在兼容的引用类型之间执行某些类型的转换.例如: static void Main(string[] args) { ]; obj[] = new class1(); obj[] ...

  7. 331. Verify Preorder Serialization of a Binary Tree -- 判断是否为合法的先序序列

    One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, ...

  8. 非ie浏览器必备函数常识

    场景描述: 我们都知道IE浏览器和非IE浏览器都有很多功能一样但写法不同,或者各自都有一些自己独特的方法,那么为了保持兼容性和便于编写,我们可以通过这两个方法给非IE浏览器的对象增加自己没有,但IE有 ...

  9. Qt enum使用总结

    一.enum 自省 const QMetaObject &mo = [ClassName]::staticMetaObject; int index = mo.indexOfEnumerato ...

  10. Java 动态代理与反射机制

    java动态代理必须的两个类与两个接口: 首先需要有一个接口(委托者需要实现该接口的方法)示例如下: <pre name="code" class="html&qu ...