`
joan0106
  • 浏览: 142572 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

java去除html代码

    博客分类:
  • JAVA
阅读更多
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        String content="<p>郎酒15年陈红花郎酒53°500ML,楼兰蛇龙珠戈壁干红(铁盒)750ML,组合
                                  价699元。</p>";
    	Pattern patt=Pattern.compile("<[^>]+>([^<]*)</[^>]+>");
    	Matcher m=patt.matcher(content);
    	while(m.find()){
    		content=content.replaceFirst("<[^>]+>([^<]*)</[^>]+>", m.group(1).toString());
    	}
    	System.out.println(content);
         //郎酒15年陈红花郎酒53°500ML,楼兰蛇龙珠戈壁干红(铁盒)750ML,组合价699元。
	}

}
 
分享到:
评论
22 楼 sunofsummer 2011-02-25  
JE上MM不少啊。:)
21 楼 fishinsky 2011-02-23  
<.*?>
20 楼 cqllang 2011-01-08  
jericho-html.jar 里的au.id.jericho.lib.html.Source有个getTextExtractor方法很好用。以前做对采集下来的网页去掉无用部分只要纯文本时用过:
使用方法类似:
String newstr = new Source(str).getTextExtractor();
19 楼 weiqiang.yang 2011-01-07  
mfkvfn 写道
<([^>]*)>|</([^>]*)>

显然是不行的。
如果我有以下代码
<html>
<head>
<script>

var a=0;
//这是注释
for(var x=0;x<10 && x>5;x++){
//donothing
}
</script>
</head>
<body></body>
</html>


按你们的方式应该输出这样的内容吧?
var a=0;
//这是注释
for(var x=0;x5;x++){
//donothing
}


这么说的话。。。如果html里面有代码
    System.out.println("<div>this is NOT HTML code!</div>");
那没有一个正则表达式能正确解析
可实际上并不是这样,因为"<"的html代码是&lt;">"的html代码是&gt;
18 楼 tedeyang 2011-01-07  
east_java 写道
使用jsoup,一行代码
http://www.java1995.cn/group/topic/111

支持,这才是聪明人的做法。jsoup在这个领域基本是最好用的
17 楼 mfkvfn 2011-01-07  
<([^>]*)>|</([^>]*)>

显然是不行的。
如果我有以下代码
<html>
<head>
<script>

var a=0;
//这是注释
for(var x=0;x<10 && x>5;x++){
//donothing
}
</script>
</head>
<body></body>
</html>


按你们的方式应该输出这样的内容吧?
var a=0;
//这是注释
for(var x=0;x5;x++){
//donothing
}
16 楼 boygirl 2011-01-07  
很多情况还是要考虑的,百度下有很多
15 楼 hebenben 2011-01-07  
wxq136 写道
	public static void main(String[] args) {
			// TODO Auto-generated method stub
	        String content="<p>郎酒15年陈红花郎酒53°500ML,</br>楼兰蛇龙珠戈壁干红(铁盒)750ML,组合价699元。</p>";
	        String regxpForHtml = "<([^>]*)>|</([^>]*)>";
	    	System.out.println(content.replaceAll(regxpForHtml, ""));

这个不是更简单

正解


14 楼 hebenben 2011-01-07  
String.replaceAll("<([^>]*)>","")
这个简单点
13 楼 liusong1111 2011-01-06  
我最近在用jsoup,确时是个好东西,可惜结合scala有问题,编译时报循环引用的错误,大概是scala编译器的bug。退到jsoup1.2.2就好了,缺少的功能只好用implicit conversion手工补了。
12 楼 hama 2011-01-06  
python是这样
re_h=re.compile('</?\w+[^>]*>')
page=re_h.sub('',page)

不知道这个正则在java下会怎么样
11 楼 faylai 2011-01-06  
我给个正则替换成空格就行了

html.replaceAll("<[^<>]*?>","")
10 楼 wxq136 2011-01-06  
	public static void main(String[] args) {
			// TODO Auto-generated method stub
	        String content="<p>郎酒15年陈红花郎酒53°500ML,</br>楼兰蛇龙珠戈壁干红(铁盒)750ML,组合价699元。</p>";
	        String regxpForHtml = "<([^>]*)>|</([^>]*)>";
	    	System.out.println(content.replaceAll(regxpForHtml, ""));

这个不是更简单
9 楼 wxq136 2011-01-06  
有点看不懂
public static void main(String[] args) {
			// TODO Auto-generated method stub
	        String content="<p>郎酒15年陈红花郎酒53°500ML,楼兰蛇龙珠戈壁干红(铁盒)750ML,组合价699元。</p>";
	    	Pattern patt=Pattern.compile("<[^>]+>([^<]*)</[^>]+>");
	    	Matcher m=patt.matcher(content);
                m.find()
	    	System.out.println(m.group(1).toString());
	         //郎酒15年陈红花郎酒53°500ML,楼兰蛇龙珠戈壁干红(铁盒)750ML,组合价699元。
		}

这样就可以了,为什么还需要
while(m.find()){
     content=content.replaceFirst("<[^>]+>([^<]*)</[^>]+>", m.group(1).toString());
}

这句啊
8 楼 sdh5724 2011-01-06  
完整的提取html文本是很复杂的事情, 通常情况下, 要实现按tag提取, 才能做到比较完善。 我曾经实现过一些, 主要用来做数据信息摘要。

实现html的解析
实现每个tag的处理机制
实现实体解析

这跟做html的安全显示也是一个道理。

如果小项目, 要求不高, 还是无所谓了。
象搜索引擎里, 提取文本数据那就更复杂了。难度就是抓取文本的主体。 虚拟可视化技术~




7 楼 ordinary 2011-01-06  
不知道这样截取有什么实际的应用,没有含义的文字,也没本质的价值吧!
如果仅仅只是去除< />之类的标签,我想if 。。。else也能实现,用通配符效率是不是太低了?
6 楼 joan0106 2011-01-06  
east_java 写道
使用jsoup,一行代码
http://www.java1995.cn/group/topic/111


还真不知道jsoup,今天先简单看了下,很不错哦,就是不知道有没有人研究过源码...
5 楼 superobin 2011-01-06  
我关心的是如果遇到异常html会不会混乱。。。比如不关闭标签的html以及自结束的标签
4 楼 east_java 2011-01-05  
使用jsoup,一行代码
http://www.java1995.cn/group/topic/111
3 楼 weiqiang.yang 2011-01-05  
我是直接
<[a-zA-Z/]+?>
不过对<script>xxx</script>和<style></style>不好使,所以对于<script>和<style>提前用别的方式处理了

相关推荐

    java过滤html代码

    在Java编程中,"java过滤html代码"是一个常见的需求,主要目的是为了安全考虑,比如防止XSS(跨站脚本攻击)或者为了提取纯文本内容。这个任务可以通过使用正则表达式来实现,正如描述中提到的那样。下面我们将详细...

    Java html代码解析

    在IT领域,尤其是在Web开发和数据处理中,Java HTML代码解析是一个重要的技术环节。这个话题主要涉及如何使用Java处理HTML文档,提取其中的数据或者进行内容分析。本文将深入探讨Java库Jsoup及其在HTML解析中的应用...

    java代码-正则去除HTML代码中的SCRIPT标签

    这个场景中,我们关注的是如何使用Java和正则表达式来移除HTML代码中的`&lt;script&gt;`标签,因为这些标签通常包含JavaScript代码,可能对页面的呈现或安全有特殊影响。下面我们将深入探讨这个话题。 首先,`&lt;script&gt;`...

    java代码-正则去除HTML代码中的A标签

    在Java编程中,正则表达式是处理字符串和文本数据的强大工具,特别是在处理HTML时,我们经常需要对HTML代码进行清洗或格式化。本话题主要关注如何使用Java和正则表达式来移除HTML代码中的A标签,这些A标签通常用于...

    java转化成html html转java

    6. **文本处理**:如果HTML转Java的目标是提取纯文本,可能需要去除HTML标签,只保留文本内容,这时可以使用Jsoup的`text()`方法或者自定义逻辑。 在提供的文件中,`java2html.java`可能是一个实现了将Java数据转换...

    解析字符串去除HTML代码,保留文字,图片,视频

    用正则表达式,去除字符串中的HTML代码并保留文字,图片,视频。

    java过滤html,css,js标签工具类(UnHtmlScript)

    在Java开发中,有时我们需要处理从网页抓取的数据,这些数据通常包含HTML、CSS和JavaScript标签,为了进一步处理和分析这些文本,我们需要将其净化,即去除这些格式化标签。`UnHtmlScript`工具类就是为了解决这个...

    java代码-正则去除HTML代码中的IMG标签

    接着,定义一个方法,接收HTML字符串作为参数,返回去除了IMG标签的字符串。在这个方法中,我们将编写正则表达式来匹配IMG标签: ```java public static String removeImgTags(String html) { // 正则表达式匹配...

    多线程搜索引擎java实现源代码

    本项目以"多线程搜索引擎java实现源代码"为标题,旨在介绍如何使用Java编程语言构建一个具备多线程特性的搜索引擎。这个搜索引擎可以抓取网络上的信息,存储网页快照,并建立索引,以便用户快速查询所需内容。下面...

    网页制作java源代码

    本文档收集了多种实用的网页制作 Java 源代码,涵盖了去掉超链接的下划线、自动刷新网页、点击即可返回到上一页面、网页源代码保护、鼠标放上去按钮出现相应的说明文字等多种功能。这些代码段可以帮助网页开发者快速...

    一键贴java、xml、html等代码到txt、word(bat命令合并代码)

    标题 "一键贴java、xml、html等代码到txt、word(bat命令合并代码)" 描述了一种利用批处理(BAT)脚本来批量处理代码文件,以便将它们粘贴到TXT或Word文档中的方法。这种方法对于程序员来说非常实用,可以节省在多...

    去掉所有的html标签

    通过上述讨论,我们可以看到使用Java编程语言去除非结构化HTML文本中的标签是一项实用且高效的技术。它不仅能够帮助我们在数据分析、文本处理等领域提高效率,还能为用户提供更加清晰、简洁的信息展示方式。当然,在...

    Java程序把Word文档直接转换成Html文件

    Java程序把Word文档直接转换成Html文件 Java程序把Word文档直接转换成Html文件是通过使用Java和COM组件实现的。COM组件是Windows操作系统中的一种组件对象模型,它允许不同的应用程序之间进行交互。在本文中,我们...

    java处理图片背景颜色的方法

    在标签中,作者列出了四个关键词:“java 处理图片背景颜色”、“java 图片背景颜色替换”、“java 图片背景颜色更改”、“java 蓝底寸照批量转换为白底”,这些关键词都与 Java 处理图片背景颜色相关。 在部分内容...

    基于java开发的搜索引擎系统附源代码

    【标题】:“基于Java开发的搜索引擎系统附源代码”是一个以Java编程语言为基础构建的搜索引擎项目的实践案例。这个项目不仅提供了完整的源代码,而且适用于Java技术的学生或开发者作为毕业论文的研究对象,帮助他们...

    Java实例源代码

    ### Java实例源代码知识点概述 本篇文档将详细介绍《Java实例源代码》中涉及的关键知识点。根据提供的描述和部分内容,可以看出这是一本书籍中的源代码集合,书籍名为《Java实例详解》,第二版。该书作者为David ...

    java清除html转义字符

    1. **清除HTML代码** - `clearHTMLToString(String args)` 方法接收一个包含HTML的字符串,然后使用正则表达式 `(?is)&lt;(.*?)&gt;` 来匹配并移除所有`和`&gt;`之间的内容。`(?is)` 是正则表达式的标志,使匹配变得不区分大...

    java常用代码方法

    本主题将深入探讨“java常用代码方法”,重点关注ISBN(国际标准书号)的校验以及处理特殊符号的工具类。 一、ISBN校验 ISBN(International Standard Book Number)是全球图书的唯一标识符,通常包含10位或13位...

    点评网美食数据抓取代码--java 实现

    在IT行业中,数据抓取是一项重要的技能,尤其是在大数据...以上是关于“点评网美食数据抓取代码--java 实现”项目中的主要知识点。通过实践这些技术,不仅可以掌握网络爬虫的开发,还能提升Java编程和数据处理能力。

    java代码-正则去除HTML代码中的注释信息

    在Java编程中,处理HTML代码时,有时我们需要去除其中的注释信息,以减少冗余数据或准备进行进一步的解析。这个任务可以通过使用正则表达式来实现。正则表达式是模式匹配的强大工具,可以用来查找、替换或提取符合...

Global site tag (gtag.js) - Google Analytics