在C#中要给字符串添加一个过滤掉HTML内容的扩展方法为 /// <summary>
/// 过滤HTML成文件并删除所有HTML标记
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static string FilterHtml(this string source)
{
if (source != null && source.Length > 0)
{
source = System.Text.RegularExpressions.Regex.Replace(source, "<[^>]*>", "");
source = source.Replace(" ", " ");
source = source.Replace("<br/>", "\r\n");
}
return source;
}然后对字符就可以用 public void Test()
{
string html="我是<b>组体</b>";
string result = html.FilterHtml();
System.Console.Write(result);
//结果为:我是粗体
}上面是C#给字符串添加扩展方法的代码,不知道Java有没有这人功能
如果有,如何来实现?谢谢
/// 过滤HTML成文件并删除所有HTML标记
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static string FilterHtml(this string source)
{
if (source != null && source.Length > 0)
{
source = System.Text.RegularExpressions.Regex.Replace(source, "<[^>]*>", "");
source = source.Replace(" ", " ");
source = source.Replace("<br/>", "\r\n");
}
return source;
}然后对字符就可以用 public void Test()
{
string html="我是<b>组体</b>";
string result = html.FilterHtml();
System.Console.Write(result);
//结果为:我是粗体
}上面是C#给字符串添加扩展方法的代码,不知道Java有没有这人功能
如果有,如何来实现?谢谢
解决方案 »
- 求助关于jsp运行环境配置的问题
- 工厂模式跟抽象工厂模式是不是一个模式?
- AJAX中文乱码(prototype.js)
- jsp下载功能
- 如何创建单线程模式的Servlet?
- 求救(关于struts动态表单验证的问题)
- 谁知道Servlet服务器中的监听器类多线程运行还是对应每个事件都有一个实例的???????????
- 高手请进,这是什么错误。
- The target server failed to respond
- 求助啊~~~为什么我的spring整合hibernate建表时候报错
- |javamy|Java对泛型在hibernate的Get是怎么写,总感觉不太对,有C#代码对比 谢谢
- |javamy|.NET的const readonly在java中是不是以final代替,有示例代码 谢谢
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Main { /**
* @param args
*/
public static void main(String[] args) {
String html = "我是<b>粗体</b>";
String result = FilterHtml(html);
System.out.println(result);
} // / <summary>
// / 过滤HTML成文件并删除所有HTML标记
// / </summary>
// / <param name="source"></param>
// / <returns></returns>
public static String FilterHtml(String source) {
if (source != null && source.length() > 0) {
Pattern pattern = Pattern.compile("<[^>]*>");// 用指定的正则表达式进行预编译 Matcher matcher = pattern.matcher(source);// 创建匹配给定输入与此模式的匹配器。
StringBuffer sbf = new StringBuffer();
while (matcher.find()) {// 描输入序列以查找与该模式匹配的下一个子序列。
// System.out.println(sbf.toString());
matcher.appendReplacement(sbf, "");//
}
matcher.appendTail(sbf);
source = sbf.toString(); source = source.replaceAll(" ", " ");
source = source.replaceAll("<br/>", "\r\n");
}
return source;
}}
---------------------------------
是这样的在.NET2.0的江翻海搅 写静态函数
但是在3.5的时候就有扩展谅,他的好像有很多
如进行转换
int i=0;
i=Convert.ToInt(Convert.ToFloat(Convert.ToDouble(Convert.ToInt(i))));
这样很不直观,如果有扩展方法的话就为
i=i.ToInt().ToDouble().ToFloat().ToInt();Java有同有什么方法可以实现这样?
谢谢
但不知道可行不可行
JAVA不就是开源的吗?
那我可以他的源代码上面把我想要添加的方法加上去
然后再重新编辑出一个我自己的Java?
这样可行不可行啊?
不行,JAVA 类库你最好不要去动,有些类库你改了也跑不起来的。int i=0;
i=Convert.ToInt(Convert.ToFloat(Convert.ToDouble(Convert.ToInt(i))));
这样很不直观,如果有扩展方法的话就为
i=i.ToInt().ToDouble().ToFloat().ToInt();这种在 Java 中做不到,Java 实际是并不是纯面向对象的,因为那 8 个基本类型就不是对象。