比如我现在输出一个了一个<%=rs(2)%>,。输出的结果可能为
xx/abc/1b.html
xx/to/2a.html
xx/wang/3dd.html就是说,我想截取两个斜杠中间的字符,
比如上面的,
我想获取到xx/abc,xx/to,xx/wang。请问怎么写js代码<%Function Func(str)
    Set Regex = new Regexp
    Regex.Pattern = "/(.+?)/"
    Set Matches = Regex.Execute(str)
    For Each m In Matches 
        Func = m.submatches(0)
    Next
End Function
%><input name="zuozhe" type="text" value="<%=Func(rs(2))%>>上面这个代码,只能截取到
xx/abc/1b.html
xx/to/2a.html
xx/wang/3dd.html中间的,abc,to,wang

解决方案 »

  1.   

    前面不一定是xx,有可能是xa,xb,abc,cab,前面的数字是随机的,
    但是都有一个规律,就是都是有两个斜杠,就是只需要去掉第二个斜杠后面的内容。
      

  2.   

    楼主 
     Regex.Pattern = "(.+?)/(.+?)/"
    这个是不是你想要的呢 -_-!
      

  3.   


    你这样子,只能获取到xx/abc/123.htm中第一个斜杠前面的内容xx,abc无法获取到,我是想获取到xx/abc
    或者xx/abc/都可以。
      

  4.   

    额  貌似楼主用的JAVA 
     Regex.Pattern = "(.+?\/.+?)\/.+"
    这下肯定可以了
      

  5.   

    Regex.Pattern = "(.+?)/(.+?)/"
    这个应该也是可以的. 
     m.submatches(0) 的意思是 取第一个挂号里面匹配的内容 那肯定还有m.submatches(1)
    然后 自己 拼接字符串 m.submatches(0) + "/" + m.submatches(1)
    也能出答案
      

  6.   

    如果是固定的在最后一个/前面的值,可以(不用正则):
    string str = "xx/abc/1b.html";
            int number = str.LastIndexOf('/');
            string newstr = str.Substring(0,number);//如果想要xx/abc/  那么这里的number+1就可以了
            Response.Write(newstr);
      

  7.   


    如果用正则:
    [\s\S]+\/[\s\S]+/
    输出:afd/asdf/
    如果要afs/asdf这种模式,可以用[\s\S]+\/[\s\S]+(?=\/)
      

  8.   

    “想截取两个斜杠中间的字符”和你所举的例子根本不是一回事。
    简单的字串函数没学过吗?用lastIndexOf()反向查找第一个斜杠(实际就是最后一个斜杠。你应该去看事物本质,就能找到正确结果,而不是现在这样浑浑噩噩的了。这个事情的本质就是排除文件名,只得到路径,并非是第二个或第三个斜杠,否则,如果目录层次加深一层,难道你又要来发一个帖,说这次是要得到第三个斜杠之前的内容而不是上次的那个问题了??或者你同时处理几个目录深度不同的目标时,还要分别写几份??)的位置序号,存入变量假设为theforever_csdn,用substring截取原来字串到theforever_csdn位置之间的部分就是了。
      

  9.   

    var str = 'xx/abc/1b.html';
    var index = str.lastIndexOf('/')
    alert(str.substr(0,index))