现在我要在一篇文章中删除这些字符:
用replaceAll("
]+?>.*我感觉应该没有影响啊啊 你的通配符是 * 啊。。。。你看看这个对你有帮助没?http://www.diybl.com/course/3_program/java/javajs/2008521/117482.html
我按你的正则来写,没问题啊。
[code="java"]
String str = "我的文章内容。
//String str = "我的文章内容。<TABLE cellSpacing=0 cellPadding=0 width=310 align=left border=0><TBODY><TR><TD></TD></TR><TR align=left><TD height=43><SCRIPT src=\"classid=业内专栏\" type=text/javascript></SCRIPT></TD></TR></TBODY></TABLE>,完毕!";
//String s = str.replaceAll("<TABLE[^>]*>.*</TABLE>","");
//System.out.println("===>"+s);
[/code]
输出结果是:
[code="java"]
===>我的文章内容。,完毕!
[/code]
你是怎么读取的? 用的什么的replaceAll()啊?
可能是编码的问题
你把你从数据库读取出来的代码在控制台中打印出来看看是什么样子的
也有可能是编码的问题 你打断点看下读出的语句 然后把那语句 用这个正则截取下 看效果能出来不?
[quote]实际中,要把一个String中 java注释的部分替换没,就是 把 /*…*/ 替换没有
用正则就是
s.replaceAll(“/\*.*\*/”,”")
不过测试了一下,发现没有效果
看文档得知,默认. 是不匹配换行的
用Pattern的话,需要打开 DOTALL模式
现在不用Pattern类,怎么办呢?
还是看文档,发现有个嵌入式标志表达式(?s) 是启用DOTALL
于是改成这样,就可以了:
s=”abc/*def\nhaha*/cba”;
print(s.replaceAll(“(?s)/\*.*\*/”,”")); //abccba[/quote]
[color=indigo]http://www.zhuoda.org/lunzi/106059.html
这是用正则处理换行符的。[/color]
[color=indigo]http://home.phpchina.com/space.php?uid=66930&do=blog&id=34170
这个也挺好[/color]