1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| class Program { public static void Main(string[] args) { string filename = @"文件路径"; string line; int iAllChr = 0; int iChineseChr = 0; int iChinesePnct = 0; int iEnglishChr = 0; int iEnglishPnct = 0; int iNumber = 0; StreamReader sr = new StreamReader(filename); while ((line = sr.ReadLine()) != null) { foreach (char ch in line) { if (ch != '\n' && ch != '\r' && ch != ' ') iAllChr++; if ("~!@#¥%…&()—+-=".IndexOf(ch) != -1 || "{}【】:“”;‘'《》,。、?|\".IndexOf(ch) != -1) iChinesePnct++; if (ch >= 0x4e00 && ch <= 0x9fbb) iChineseChr++; if ("`~!@#$%^&*()_+-={}[]:\";'<>,.?/\\|".IndexOf(ch) != -1) iEnglishPnct++; if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) iEnglishChr++; if (ch >= '0' && ch <= '9') iNumber++; } } string sStats = string.Format(string.Concat( "字符总数:{0}\r\n", "中文字符数:{1}\r\n", "中文标点数:{2}\r\n", "英文字符数:{3}\r\n", "英文标点数:{4}\r\n", "数字字符数:{5}\r\n"), iAllChr.ToString(), iChineseChr.ToString(), iChinesePnct.ToString(), iEnglishChr.ToString(), iEnglishPnct.ToString(), iNumber.ToString()); Console.WriteLine(sStats); Console.ReadKey(); }
}
|