打开一文件,里面并不不全是汉字,如果找到第一个汉字,并读取它,并把它输出到另一个文件中去。

解决方案 »

  1.   

    逐个字符读取、比较,Ascii >256应该是汉子(没有其它外文的情况下)
      

  2.   


    string str = "test:::中华人民共和国!!!";
    string strResult = "";
    foreach(Char c in str)
    {
        if (System.Text.Encoding.Default.GetByteCount(c.ToString()) > 1)
        {
            strResult += c;
        }
    }
    System.Windows.Forms.MessageBox.Show(strResult);
      

  3.   

    public char getChineseWord(string path)
    {
        char[] buffer = new char[2048];
        StreamReader sr = new StreamReader(path);
        sr.Read(buffer,0,2048);
        foreach(char c in buffer)
        {
            if(c>='\u4e00' && c<='\u9fa5')
            {
                sr.Close();
                return c;
            }
        }
        return '\0';
    }
      

  4.   

    public char getChineseWord(string path)
    {
        char[] buffer = new char[2048];
        StreamReader sr = new StreamReader(path);
        sr.Read(buffer,0,2048);
        foreach(char c in buffer)
        {
            if(c>='\u4e00' && c<='\u9fa5')
            {
                sr.Close();
                return c;
            }
        }
        sr.Close();
        return '\0';
    }
      

  5.   

    sorry,没有读全部文件
    改正如下:public char getChineseWord(string path)
    {
        char[] buffer = new char[2048];
        StreamReader sr = new StreamReader(path);
        while(sr.Read(buffer,0,2048)>0)
        {
            foreach(char c in buffer)
            {
                if(c>='\u4e00' && c<='\u9fa5')
                {
                    sr.Close();
                    return c;
                }
            }
        }
        return '\0';
    }
      

  6.   

    这个要根据汉字的编码方案,一般有GB2312、Big5、GBK三种.
    不知道楼上的楼上是否有考虑到?
      

  7.   


    写一个判断字符是否汉字的函数:Function isaHanzi(ByVal aChar As String) As Boolean
       Dim pat As String = "[\u4e00-\u9fa5]"
       Dim rg As Text.RegularExpressions.Regex = New Text.RegularExpressions.Regex(pat)
       Dim mh As Text.RegularExpressions.Match = rg.Match(aChar)
       'mh.Success = true 是汉字
       If (mh.Success) Then Return True  Else  Return False
    End Function
      

  8.   

    StreamReader sr = new StreamReader(path);
    =>
    StreamReader sr = new StreamReader(path, System.Text.Encoding.GetEncoding("gb2312"));
      

  9.   

    非常感谢viena(维也纳nn),谢谢你的帮助,不好意思,现在才给你分,我是个新手,还不太熟悉这个论坛的规则。
      

  10.   

    采用Unicode,用正则表达式匹配第一项