请教各位:有一个文本文件,现要读取“s”和“s”后面第一个“a”之间的值,然后将读取的值显示在列表框控件里面,请教要怎么实现啊!谢谢帮忙啦!

解决方案 »

  1.   

    用“a”来split,然后再foreach,有“s”的截子串,没有的舍弃?
    好像有点麻烦.....
    楼下继续。
      

  2.   

    string strs = "duttttjdhhhafjhghffdudfsfsf";
                int start = strs.IndexOf("a", 0);
                int end = strs.IndexOf("s", start);
                string str = strs.Substring(start+1, end - start-1);
      

  3.   

    ///从文本文件中读取字符串
    private String ReadTxtFile(String filename)
            {
                if (File.Exists(filename)) //如果文件存在
                {
                    String[] strs = System.IO.File.ReadAllLines(filename);
                    return strs[strs.Length - 1];
                }
                return String.Empty;
            }/// <summary>
            /// 测试,取出s...a之间的字符--(应该考虑用正则,俺不会)
            /// </summary>
            /// <param name="paraS"></param>
            /// <returns></returns>
            private List<String> getFilter(String paraS)
            {
                String[] strS = paraS.ToLower().Split('s');
                List<String> list = new List<String>();
                if (strS != null && strS.Length > 0)
                {
                    foreach (String stmp in strS)
                    {
                        if (stmp.Length>0 && stmp.ToLower().Contains("a") )//字符串包含a,且不是在第一个位置
                        {
                            String a=stmp.ToLower().Substring(0,1);
                            if (a != "a")
                            {
                                String[] strsA = stmp.Split('a');
                                if (strsA != null && strsA.Length > 0)
                                {
                                    foreach (string p in strsA)
                                    {
                                        if (p.Length > 0)
                                            list.Add(p);
                                    }
                                }
                            }
                        }
                    }
                }
                return list;
            }
      

  4.   

                string filecontent = System.IO.File.ReadAllText(@"1.txt");
                int i = 0;
                int j = 0;
                while ((i = filecontent.IndexOf("s", i)) != -1)
                {
                    j = filecontent.IndexOf("a", i);
                    listBox1.Items.Add(filecontent.Substring(i + 1, j - i - 1));
                    i++;
                }
      

  5.   

                string p = @"(?<=s)([^a])*(?=a)";
                string s = Regex.Match("jflsdjflksdaj;jlsasdsfsssfssa", p).Value;
                MessageBox.Show(s);
      

  6.   

    读取“s”和“s”后面第一个“a”之间的值
    -----------------
    string strs = "duttttjdhhhafjhghffdudfsfsf"; 
                int start = strs.IndexOf("s", 0); 
                int end = strs.IndexOf("a", start); 
                string str = strs.Substring(start, end - start);
      

  7.   

    StreamReader stre = new StreamReader("文本.txt");
                string strs = stre.ReadToEnd().Trim();
                int start = strs.IndexOf("s", 0); 
                int end = strs.IndexOf("a", start); 
                string str = strs.Substring(start, end - start);
                stre.Close();
      

  8.   

    把6L 改一下就行了...
    StreamReader stre = new StreamReader("文本.txt"); 
                string strs = stre.ReadToEnd().Trim(); 
                string p = @"(?=s)([^a])*(?=a)";
                string s = Regex.Match(strs, p).Value;