如何在一大字符串中截取以下这两段字符串?第二段字符串中间有换行,听说一般都用正则来截取,如何实现?谢谢!
filename="=?GBK?Q?=B0=D7=D6=A4.dwg?="filename="=?GBK?Q?11-25=D5=C5=C1=C1=D7=AA90=D7=F8?=
 =?GBK?Q?=B1=EA=B4=F808=C4=EA=B8=DF=B3=CC.txt?="

解决方案 »

  1.   


    String strToSearch = "";
    if(str.ToSearch.IndexOf(fileName) != -1)
    {
      DoSth();
    }有换行就用\n吧,没试过
      

  2.   

    我举个例子,比如在如下的2个文本里截取
    Content-Type: application/octet-stream; name="=?GBK?Q?=B0=D7=D6=A4.dwg?="
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename="=?GBK?Q?=B0=D7=D6=A4.dwg?="在这文本里我想截取 filename="=?GBK?Q?=B0=D7=D6=A4.dwg?="Content-Type: text/plain; name="=?GBK?Q?11-25=D5=C5=C1=C1=D7=AA90=D7=F8?=
     =?GBK?Q?=B1=EA=B4=F808=C4=EA=B8=DF=B3=CC.txt?="
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment;
     filename="=?GBK?Q?11-25=D5=C5=C1=C1=D7=AA90=D7=F8?=
     =?GBK?Q?=B1=EA=B4=F808=C4=EA=B8=DF=B3=CC.txt?="在这文本里我想截取filename="=?GBK?Q?11-25=D5=C5=C1=C1=D7=AA90=D7=F8?=
     =?GBK?Q?=B1=EA=B4=F808=C4=EA=B8=DF=B3=CC.txt?="
      

  3.   

     string str22="Content-Type: application/octet-stream; name=\"=?GBK?Q?=B0=D7=D6=A4.dwg?=\"Content-Transfer-Encoding: base64Content-Disposition: attachment; filename=\"=?GBK?Q?=B0=D7=D6=A4.dwg?=\"";
      foreach (Match match in new Regex("filename=\"[^\"]*\"").Matches(str22)) 
      {
          Console.WriteLine(match);
      }
      

  4.   

           我自己写的方法哈
    public static string GetStartEndStr(string source, string start, string end)
            {
                string str = "";
                int len1 = source.IndexOf(start);
                if (len1 > -1)
                {
                    string cutstr = source.Substring(len1 + (start).Length);
                    int len2 = cutstr.IndexOf(end);
                    str = cutstr.Substring(0, len2);
                }
                return str;
            }调用
    GetStartEndStr(str,"filename=\"","\"");得到的结果是 
    =?GBK?Q?11-25=D5=C5=C1=C1=D7=AA90=D7=F8?=
      =?GBK?Q?=B1=EA=B4=F808=C4=EA=B8=DF=B3=CC.txt?=