java正则表达式 替换超链接之间的内容
我有一个字符串。Stringstr="sadfasdfsd圣达菲<imgsrc='xxx'alt='xxx'></img>打的费<ahref='xxx'>的萨菲</a>倒...
我有一个字符串。String str="sadfasdfsd圣达菲<img src='xxx' alt='xxx' ></img>打的费<a href='xxx' >的萨菲</a>倒萨";现在我想把<img src='xxx' alt='xxx' ></img>换成图片两个字,把<a href='xxx' >的萨菲</a>换成超链接这三个字。即转换后的字符串是
"sadfasdfsd圣达菲图片打的费超链接倒萨",请问用正则表达式改怎么做? 展开
"sadfasdfsd圣达菲图片打的费超链接倒萨",请问用正则表达式改怎么做? 展开
4个回答
展开全部
正则表达式怎样写我可以告诉你 ASP 怎样使用正则你自己去看 。我用 PHP 的 。
正则表达式如下:
("/[(|(]?\d+[)|)]?/
把这个用起来就好了 。去吧 。
php 里面可以这样写 :你需要把格式转换为 GB2312 ,另外最好全部是半角的“(”。因为 PHP 处理语言的关系 ,它处理全角一直不是太好 。
<?php
header("Content-type:text/html;charset=gb2312");
$str = "排列(1)(2) 排列(10)(20)";
$str = preg_replace("/[(|(]?\d+[)|)]?/","",$str);
echo $str;
?>
我这段程序设计的本意是无论是全角的 () 还是半角的 () 都可以替换 ,但由于 PHP 本生的特殊性这段程序在替换全角字符时会有问题 。ASP 应该不会 。去吧 ,自己找找 ASP 怎样用正则的 。
正则表达式如下:
("/[(|(]?\d+[)|)]?/
把这个用起来就好了 。去吧 。
php 里面可以这样写 :你需要把格式转换为 GB2312 ,另外最好全部是半角的“(”。因为 PHP 处理语言的关系 ,它处理全角一直不是太好 。
<?php
header("Content-type:text/html;charset=gb2312");
$str = "排列(1)(2) 排列(10)(20)";
$str = preg_replace("/[(|(]?\d+[)|)]?/","",$str);
echo $str;
?>
我这段程序设计的本意是无论是全角的 () 还是半角的 () 都可以替换 ,但由于 PHP 本生的特殊性这段程序在替换全角字符时会有问题 。ASP 应该不会 。去吧 ,自己找找 ASP 怎样用正则的 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
现在的代码可以实现你用的效果 如果你要过滤其他标签 对 正则表达式做修改就行
public static String filter(String content){
java.util.regex.Pattern p_2 = Pattern.compile("(<img>|<img\\s.*?>).*?</img>", Pattern.CASE_INSENSITIVE);
java.util.regex.Matcher m_2 = p_2.matcher(content);
content = m_2.replaceAll("图片");
java.util.regex.Pattern p_3 = Pattern.compile("(<a>|<a\\s.*?>).*?</a>", Pattern.CASE_INSENSITIVE);
java.util.regex.Matcher m_3 = p_3.matcher(content);
content = m_3.replaceAll("超链接");
return content;
}
public static String filter(String content){
java.util.regex.Pattern p_2 = Pattern.compile("(<img>|<img\\s.*?>).*?</img>", Pattern.CASE_INSENSITIVE);
java.util.regex.Matcher m_2 = p_2.matcher(content);
content = m_2.replaceAll("图片");
java.util.regex.Pattern p_3 = Pattern.compile("(<a>|<a\\s.*?>).*?</a>", Pattern.CASE_INSENSITIVE);
java.util.regex.Matcher m_3 = p_3.matcher(content);
content = m_3.replaceAll("超链接");
return content;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
超级简洁的方法:
str = str.replaceAll("<img.*?</img>", "图片");
str = str.replaceAll("<a.*?</a>", "超链接");
System.out.println(str);
str = str.replaceAll("<img.*?</img>", "图片");
str = str.replaceAll("<a.*?</a>", "超链接");
System.out.println(str);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String str2 = str.replaceAll("<img .*?</img >","图片").replaceAll("<a.*?</a>","超链接");
System.out.println(str2);
System.out.println(str2);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询