还有,如果END这个位置也可能是TOHERE 或者 OUT
如何判断,从BEGIn的位置,当碰到("END","TOHERE","OUT")三个中的任何一个时就结束

解决方案 »

  1.   

    方法1查找Begin,记录B的位置,接着开始查找End,记住d的位置
    得到中间的字符串substring(b,e)
    把它替换为空
    方法2用正则表达式表示它:   Begin*******End
    这样一个字符串
    然后替换为空就是了含不含的问题就是位置大小的问题
    你可以写两个方法函数,分别处理这两种情况
      

  2.   

    从BEGIn的位置,当碰到("END","TOHERE","OUT")三个中的任何一个时就结束
    这个情况,就是关键字不同罢了没什么用到的
    int b=NavigateUrl.IndexOf("Begin");
    int e=str.IndexOf(b,"end");
    int len=e-b;
    string s=str.subString(b,len);
      

  3.   

    我是要把从 BEGIN 到 END 之间的内容去掉,而不是取它们。如何用正则表达式来做呢?
      

  4.   

    利用正则表达式按你的这要求好像不行吧?
    因为它无法保存begin end要么你全部屏了它,要么就只能换别的方法 Dim reg As String = "begin\s(\w)*\send"
            Dim result As String = Regex.Replace(source, reg, "")
            Console.WriteLine(result)
            Console.ReadLine()