CSharp examples for System:String Algorithm
Get String Stats
using System.Windows.Forms; using System.IO;//from ww w .j a v a2 s .c om using System.Text; using System.Linq; using System.Collections.Generic; using System; public class Main{ //************************************************************************************* //GetStringStats() Provides information on the characters which are in a string. //************************************************************************************* public static string GetStringStats(string sString) { string sResults = string.Empty; char[] CharArr = sString.ToCharArray(); //int iCharCode = 0; int iTotalLines = 0; int iTotalCharacters = 0; int iCurrentLine = 0; int iCurrentLineLength = 0; int iLongestLine = 0; int iLongestLineChars = 0; int iStandardEnglish = 0; int iNull = 0; int iTab = 0; int iCr = 0; int iLF = 0; int iLowerCaseAlpha = 0; int iUpperCaseAlpha = 0; int iNumeric = 0; int iAbove255 = 0; int iAbove127 = 0; int iControlCharacters = 0; char xChar = ' '; long ixChar = 0; iTotalCharacters = sString.Length; for (int iCount = 0; iCount < sString.Length; iCount++) { xChar = CharArr[iCount]; iCurrentLineLength++; if (xChar == '\n' || xChar == '\r') { if (xChar == '\n') { iCurrentLine++; iTotalLines++; } iCurrentLineLength = 0; } if (iCurrentLineLength > iLongestLineChars) { iLongestLineChars = iCurrentLineLength; iLongestLine = iCurrentLine; } ixChar = (int)xChar; if (xChar >= 'a' && xChar <= 'z') iLowerCaseAlpha++; if (xChar >= 'A' && xChar <= 'Z') iUpperCaseAlpha++; if (xChar >= '0' && xChar <= '9') iNumeric++; if (ixChar > 255) iAbove255++; if (ixChar > 127) iAbove127++; //if (ixChar <= 31) iControlCharacters++; // Control Characters except CR(13) LF (10) and TAB (9) if ((ixChar >= 0 && ixChar <= 31) && (ixChar != 10 && ixChar != 13 && ixChar != 9)) iControlCharacters++; if (ixChar > 31 & ixChar < 127 || xChar == '\r' || xChar == '\n' || xChar == '\t') { iStandardEnglish++; } if (xChar == '\0') iNull++; if (xChar == '\t') iTab++; if (xChar == '\r') iCr++; if (xChar == '\n') iLF++; } iLongestLine++; sResults += " Total Lines: " + iTotalLines.ToString() + " "; sResults += "Total Characters: " + iTotalCharacters.ToString() + " "; sResults += "Longest Line is " + iLongestLine.ToString() + " having " + iLongestLineChars.ToString() + " characters\r\n"; sResults += "\r\n"; sResults += " Characters:\r\n"; sResults += string.Format(" {0} In Normal English Range - letters, numbers, symbols and Cr/Lf/Tab (31-126 dec range+ 13/10/9 dec) \r\n", iStandardEnglish.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Tab(09 hex)\r\n", iTab.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Cr (0D hex)\r\n", iCr.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Lf (0A hex)\r\n", iLF.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Control Characters (Range 0-31 dec/0-1F Hex except for CR, LF and TAB)\r\n", iControlCharacters.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Above 127 dec range\r\n", iAbove255.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Above 255 dec range\r\n", iAbove127.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Null (00 hex)\r\n", iNull.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Lower Case\r\n", iLowerCaseAlpha.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Upper Case\r\n", iUpperCaseAlpha.ToString().PadLeft(6, ' ')); sResults += string.Format(" {0} Numeric\r\n", iNumeric.ToString().PadLeft(6, ' ')); sResults += "\r\n"; return sResults; } }