如何把这个Jsp 的方法改成asp.net 的方法呢?

oubo824219 2010-03-15 10:29:14
public static String mySubString(String str)
{
//截取掉非法结束,因为后边截取出的东西可能把标签截取了一半
//字符串中可能包含很多开始标签和很多结束标签,要保证开始标签和结束标签都包含在内
//获得其中包含的开始标签并存放到数组中

List begin = new ArrayList();
List end = new ArrayList();
//统计开始标签<和结束标签>的数目
for (int i = 0; i < str.length(); i++)
{
char r = str.charAt(i);
//添加开始符号的位置
if (r == '<')
{
begin.add(i);
}
//统计结束符号的位置,正常情况下开始位置和结束位置是一一对应的
if (r == '>')
{
end.add(i);
}
}
//存放标签的集合
List tag = new ArrayList();
//获得标签
int size = 0;
//当开始的<数量多于>的时候,说明后边的部分标签被截取掉了
if (begin.size() > end.size())
{
//开始标签多的时候,就以结束的标签数量为准
size = end.size();
//这个时候就截取掉最后一个<结束之前的,以方便后边来统一加结束标签
int index = str.lastIndexOf('<');
//重新给进来的字符串赋予新的值
str = str.substring(0, index);
}
else
{
size = begin.size();
}
//循环对应取,
for (int m = 0; m < size; m++)
{
//循环,从begin和end中获取对应的值,即取得相同的下标截取其中的字符串,这样取得的就是标签中的内容
//比如<div>这样根据begin和end中取得的值就为<div>
String ss = str.substring((Integer)begin.get(m), (Integer)end.get(m) + 1);

//只加开始标签,这里记录所有的开始标签
if (ss.indexOf('/') < 0)
{
//判断有没有空格,比如<a htrf="">这种情况就只能取得到<a 后边的就不要了,少了个>在后边加的有
if (ss.indexOf(" ") >= 0)
{
ss = ss.substring(0, ss.indexOf(" "));
}
tag.add(ss);
}
}
//这里要倒着加先出的标签结束符越靠后
for (int n = tag.size(); n > 0; n--)
{
String mystr = tag.get(n - 1).toString();
//判断是否有<和>
if (mystr.indexOf("<") < 0)
{
mystr = "<" + mystr;
}
if (mystr.indexOf(">") < 0)
{
mystr = mystr + ">";
}
//将标签中加入/,比如这里本身取得的是<div>那么就构件成</div>
String strRes = mystr.substring(0, 1) + "/" + mystr.substring(1);
//没有结束的就加结束的就将结束标签加上
if (str.indexOf(strRes) < 0)
{
str += strRes;
}
}
return str;
}
...全文
99 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbh119 2010-03-16
  • 打赏
  • 举报
回复
你的方法里用的函数啥的,c#里好象都有吧,就是大小写不同吧,用法都差不多.
oubo824219 2010-03-16
  • 打赏
  • 举报
回复
有没有人知道怎么改啊
liu_yi_jie 2010-03-15
  • 打赏
  • 举报
回复
1楼 实在过分的搞笑了
oubo824219 2010-03-15
  • 打赏
  • 举报
回复
1楼的我操你妈
老子在打仗,你他妈的在这里 打广告? 如果你他妈的有网站 ,把网址写出来,不灭了你才怪

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧