转:c#中indexof与substring的区别

"abcdefg".substring(4,2)
返回的值为:ef
从字符串"abcdefg"中第4位开始取,取到第2位。

"abcdefg".substring(4)
返回:efg
从字符串"abcdefg"中第4位开始取,取到字符串的尾部

Code
//处理链接 add by fengyan 2008-08-19
function handerATag(html)
{
    html2 = html.toLowerCase();
    var result = "";
    var temp7 = "";
    if(html.indexOf("<a") == -1)
    {
        return html2;
    }
   
    while(html2.indexOf("<a")!=-1)
    {
        var temp = html2.substring(0,html2.indexOf("<a")+2);
        var temp2 =  html2.substring(html2.indexOf("<a")+2);
        var temp3 = temp + temp2.substring(0,temp2.indexOf(">")+1);//...<a >结束
        var temp4 = html2.substring(html2.indexOf(temp3)+temp3.length);//<a>之后
        var temp5 = temp4.substring(0,temp4.indexOf("</a>"));//<a>之间</a>
        temp7 = temp4.substring(temp4.indexOf("</a>")+4);//</a>之后
        var temp6 = "";
        var brk = false;
        for(var i = 0 ; i < temp5.length;i++)
        {   
            if(temp5.charAt(i)=='<')
            {
                brk = true;
            }   
            if(temp5.charAt(i)=='>')
            {
                brk = false;
            }
            if(brk)
            {
                temp6 += temp5.charAt(i);
                continue;
            }
       
            temp6 += temp5.charAt(i)+"<!---->";
        }
        result += temp3 + temp6+"</a>";
        html2 = temp7;//控制继续判断循环
    }
    return result+temp7;
}
 

5月以来,多家<A href="http://www.baidu.com"><FONT color=#ee3d11>基金</FONT></A>公司...

temp=5月以来,多家<A
temp2= href="http://www.baidu.com"><FONT color=#ee3d11>基金</FONT></A>公司...
temp3=5月以来,多家<A href="http://www.baidu.com">
temp4=<FONT color=#ee3d11>基金</FONT></A>公司...
temp5=<FONT color=#ee3d11>基金</FONT>
temp7=公司...

 

temp6=<FONT color=#ee3d11>基<!---->金</FONT>
result=5月以来,多家<A href="http://www.baidu.com"><FONT color=#ee3d11>基<!---->金</FONT></a>
result+temp7=5月以来,多家<A href="http://www.baidu.com"><FONT color=#ee3d11>基<!---->金</FONT></a>公司...

 

indexof() :在字符串中从前向后定位字符和字符串;所有的返回值都是指在字符串的绝对位置,如为空则为- 1

string test="asdfjsdfjgkfasdsfsgfhgjgfjgdddd";

test.indexof('d')      =2           //从前向后 定位 d 第一次出现的位置
test.indexof('d',1)    =2          //从前向后 定位 d 从第三个字符串 第一次出现的位置
test.indexof('d',5,2) =6     //从前向后 定位 d 从第5 位开始查,查2位,即 从第5位到第7位;

lastindexof() :在字符串中从后向前定位字符和字符串;、
用法和 indexof() 完全相同。


下面介绍 IndexOfAny ||lastindexofany

他们接受字符数组做为变元,其他方法同上,返回数组中任何一个字符最早出现的下标位置

如下

        char[] bbv={'s','c','b'};
        string abc = "acsdfgdfgchacscdsad";
       
        Response.Write(abc.IndexOfAny(bbv))=1
        Response.Write(abc.IndexOfAny(bbv, 5))=9
        Response.Write(abc.IndexOfAny(bbv, 5, 3))=9

lastindexofany 同上。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值