我可没法确认你是不是女的,(有机会视频吧^_^)但是为了搞你这个弄走我不少时间,写了一个Demo,你看看吧。把获得的结果空字符串去掉就可以。
public class test{
public static void main(String[] args){
String a="<html sodfsldfksdsdfs> hello world </html>";
String[] b=a.split("((<)(\\p{Punct})*((\\w)*( )*)*(>))");
int i=0;
while(i!=b.length){
System.out.println (b[i++]);
} System.out.println (b.length);
}
}
public class test{
public static void main(String[] args){
String a="<html sodfsldfksdsdfs> hello world </html>";
String[] b=a.split("((<)(\\p{Punct})*((\\w)*( )*)*(>))");
int i=0;
while(i!=b.length){
System.out.println (b[i++]);
} System.out.println (b.length);
}
}
解决方案 »
- 如何获取JTable被选中的几行数据?
- java matlab混合编程遇到的虚拟机未启动的问题
- 俺内存不够了,想把jre的内存调小店,怎么做
- 接口方面问题,不知道为什么编译错误。希望各位帮忙看一下!
- 高手指教,谢谢了!
- 我如何才能实现点击一个button后,在JTable里添加一个新的空行
- 求救 JDialog 的 问题
- dom4j 泛型警告,另个问题是思路优化,如何取得elements()最后一个元素的属性
- java中怎么才能控制通讯接口com1的信息?
- 网络爬虫需求分析:获取一个指定URI下的所有的同域名下的所有的子URI
- 我关于一道面试题的思考
- 如何用正则表达式从一个String中提取出英文单词?
哈哈~~~~~~~~~~~~你在这方面比我还菜呀~~~~~~~~~~~~~~~~一起学习吧~~~~~~~~~~
反正我们都年轻,都输得起~~~~~~~~~~~~~~~~~~~~~~
对了,我怕你见了我之后会“心乱如麻”&&“无心学习”................哈哈~~~~~~~~~可我不怪你~~~~~~~~~~~~~~~
import java.io.*;
import java.util.regex.*; private String removehtmltag(String htmlstr) {
Pattern pat = Pattern.compile("\\s*<.*?>\\s*",
Pattern.DOTALL | Pattern.MULTILINE |
Pattern.CASE_INSENSITIVE);
Matcher m = pat.matcher(htmlstr);
//再去掉其它所有html标记
String rs = m.replaceAll(" ");
rs = rs.replaceAll(" ", " ");
rs = rs.replaceAll("<", "<");
rs = rs.replaceAll(">", ">");
return rs;
}
用短信方式发你的QQ给我吧,或者你加我也可以,QQ:5167822
对了,你的代码我试过了,是可以,但如果我想处理的字符串是"="<html sodfsldfksdsdfs> <body onload="load();"> <title sdfs.......> hello world </title> </body> </html>"那好象就不行了~~~~~~~ 对了,其实我是想把多个html文件合并成一个html文件,所以才要去掉一些重复"<html><body>"等标记的。除了把html的代码读出来用正则表达式处理后我不知道是否还有其他方法.............
如果只去掉html这个标签Pattern pat = Pattern.compile("\\s*<html.*?>\\s*",
Pattern.DOTALL | Pattern.MULTILINE |
Pattern.CASE_INSENSITIVE);
pigo:你的代码我试过了,可以实现,但我还有些不太清楚,如下:
1. Pattern pat = Pattern.compile("\\s*<.*?>\\s*", Pattern.DOTALL | Pattern.MULTILINE |
Pattern.CASE_INSENSITIVE);
Matcher m = pat.matcher(htmlstr);
//再去掉其它所有html标记
String rs = m.replaceAll("");
谢谢你!你的代码我试过了,可以实现,但我还有些不太清楚,如下:
1. Pattern pat = Pattern.compile("\\s*<.*?>\\s*", Pattern.DOTALL | Pattern.MULTILINE |
Pattern.CASE_INSENSITIVE); 中 "\\s*<.*?>\\s*" 的 是什么意思呀,我只知道 . 品配 一个任何字符,而 .* 品配所有的字符,对吧?
2. Pattern.DOTALL | Pattern.MULTILINE(品配多行?) |
Pattern.CASE_INSENSITIVE (什么...灵敏的?) 这几个参数还不知道是什么意思。 3. String rs = m.replaceAll(" ");是把符合品配条件的字符都替换为空格。也对吧?
"
<html sodfsldfksd~~~~~~~~~~sdfs>"
和
"</html> "然后把它们替换成了空格。
pigo: 再麻烦你一下:
"\\s*<.*?>\\s*" 1. 中的 "\\s*" 是指“空白字符开头”?
2. .*? 再是任意字符? 是指任意 多个 字符?
谢谢你~~~~~~~~~~
"\\s*" 是匹配所有空白字符,且不限制个数。.表示任意字符,*表示不限制,?表示前面的情形可以出0次或者一次,这样就避免匹配到最后一个>去了如果没有?结果就是fdfdfddf<aaa>aaaaa<vcvbvb><vcvcvbbv>gfgffggf就变成fdfdfddf gfgffggf,而不是fdfdfddf aaaaag fgffggf
http://www.google.com/search?q=java+%D5%FD%D4%F2%B1%ED%B4%EF%CA%BD&hl=zh-CN&lr=lang_zh-CN&ie=gb2312我就是看了 《Java正则表达式详解》凑出几个正则表达式来了。
谢谢你!!!
!!!!
http://community.csdn.net/Expert/topic/3505/3505512.xml?temp=.0746271
哈哈~~~~~~~~~~~~~你说话怎么像个外交部的发言人~~~~~~~~~~~~~~~~~~~~~
如果大家要我找到的一些料的话就留下EMAIL吧,回去发给你............就一些,不要嫌少呀”你好,这是我的Email:[email protected] 有时间给我发一些关于正则表达式的资料。
谢谢!!
我说话比较土吧,可能,^_^
也发给我撒
[email protected]
谢谢