Splits the string into lines.

   
 

//Microsoft Public License (Ms-PL)
//http://visualizer.codeplex.com/license

using System;
using System.Collections.Generic;

namespace Redwerb.BizArk.Core.StringExt
{
    /// <summary>
    /// Provides extension methods for strings.
    /// </summary>
    public static class StringExt
    {
        /// <summary>
        /// Splits the string into lines.
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string[] Lines(this string str)
        {
            var lines = new List<string>();
            using (var sr = new System.IO.StringReader(str))
            {
                string line = sr.ReadLine();
                while (line != null)
                {
                    lines.Add(line);
                    line = sr.ReadLine();
                }
            }

            return lines.ToArray();
        }
   }
}        

   
     


Forces the string to word wrap so that each line doesn't exceed the maxLineLength.

   
 

//Microsoft Public License (Ms-PL)
//http://visualizer.codeplex.com/license

using System;
using System.Collections.Generic;

namespace Redwerb.BizArk.Core.StringExt
{
    /// <summary>
    /// Provides extension methods for strings.
    /// </summary>
    public static class StringExt
    {
        /// <summary>
        /// Forces the string to word wrap so that each line doesn&#039;t exceed the maxLineLength.
        /// </summary>
        /// <param name="str">The string to wrap.</param>
        /// <param name="maxLength">The maximum number of characters per line.</param>
        /// <returns></returns>
        public static string Wrap(this string str, int maxLength)
        {
            return Wrap(str, maxLength, "");
        }

        /// <summary>
        /// Forces the string to word wrap so that each line doesn&#039;t exceed the maxLineLength.
        /// </summary>
        /// <param name="str">The string to wrap.</param>
        /// <param name="maxLength">The maximum number of characters per line.</param>
        /// <param name="prefix">Adds this string to the beginning of each line.</param>
        /// <returns></returns>
        public static string Wrap(this string str, int maxLength, string prefix)
        {
            if (string.IsNullOrEmpty(str)) return "";
            if (maxLength <= 0) return prefix + str;

            var lines = new List<string>();

            // breaking the string into lines makes it easier to process.
            foreach (string line in str.Split("
".ToCharArray()))
            {
                var remainingLine = line.Trim();
                do
                {
                    var newLine = GetLine(remainingLine, maxLength - prefix.Length);
                    lines.Add(newLine);
                    remainingLine = remainingLine.Substring(newLine.Length).Trim();
                    // Keep iterating as int as we&#039;ve got words remaining 
                    // in the line.
                } while (remainingLine.Length > 0);
            }

            return string.Join(Environment.NewLine + prefix, lines.ToArray());
        }
        private static string GetLine(string str, int maxLength)
        {
            // The string is less than the max length so just return it.
            if (str.Length <= maxLength) return str;

            // Search backwords in the string for a whitespace char
            // starting with the char one after the maximum length
            // (if the next char is a whitespace, the last word fits).
            for (int i = maxLength; i >= 0; i--)
            {
                if (char.IsWhiteSpace(str[i]))
                    return str.Substring(0, i).TrimEnd();
            }

            // No whitespace chars, just break the word at the maxlength.
            return str.Substring(0, maxLength);
        }
    }
}

   
     


Count number of chars in a string

   
 
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
public class MainClass{

        public static int NumberOfCharsInStr(ref string stringToSearch, char charToFind)
        {
            int count = 0;
            char[] chars = stringToSearch.ToCharArray();
            foreach (char c in chars)
            {
                if (c == charToFind)
                {
                    count++;
                }
            }
            return count;
        }
}

   
     


Calculate the max count of continuous characters

//GNU General Public License version 2 (GPLv2)
//http://cbasetest.codeplex.com/license
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SDFL.Helper
{
public class StrHelper
{
///

/// a function to calculate the max count of continuous characters.
/// For example, input “abb” and it will return 2, input “abbbcc” and it will return 3, etc..
///

///
/// [Dylan] 08/17/2009 Fix bug, if max list exist in the end, can't got it. e.g. “affddccccc”
/// [Dylan] 08/17/2009 Fix bug, if only one continuous list, and in the end, DupList is null, e.g. “aff”
/// [Dylan] 08/17/2009 Fix bug, if only one char. e.g “a”
///

/// /// max count of continuous characters
public static Int32 MaxofDupCharacter(string str)
{
int length = str.Length;
bool isDup = false;
int iPre = 0;
int iLatter = 1;
List DupList = new List();

// [Dylan] 08/17/2009 Fix bug, if only one char. e.g “a”
if (str.Length == 1)
return 1;

for (int i = 0; i < length -1; i++) { if (str[iLatter] == str[iPre]) { isDup = true; // [Dylan] 08/17/2009 Fix bug, if only one continuous list, and in the end, DupList is null, e.g. "aff" if (iLatter == length -1 && DupList.Count == 0) { DupList.Add(iLatter - iPre + 1); } // [Dylan] 08/17/2009 Fix bug, if max list exist in the end, can't got it. e.g. "affddccccc" // if true, it indicate that end region is still a continuous list. if (iPre< iLatter -1) { DupList.Add(iLatter - iPre+1); } } else { if (isDup) { DupList.Add(iLatter - iPre); } isDup = false; iPre = iLatter; } iLatter++; } return int.Parse(DupList.Max().ToString()); } } } [/csharp]

Get used chars

//The MIT License (MIT)
//http://arolibraries.codeplex.com/license
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace AroLibraries.ExtensionMethods.Strings
{
public static class StringExt
{

public static IList Ext_GetUsedChars(this string iString)
{
IList vList = new List();
for (int i = 0; i < iString.Length; i++) { char vChar = iString[i]; char cCharLower = Char.ToLower(vChar); if (!vList.Contains(cCharLower) && Char.IsLetter(cCharLower)) { vList.Add(cCharLower); } } return vList; } } } [/csharp]

Reverse a string

   
 

//The MIT License (MIT)
//http://arolibraries.codeplex.com/license
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace AroLibraries.ExtensionMethods.Strings
{
    public static class StringExt
    {

        public static string Ext_Reverse(this string s)
        {
            if (s == null) throw new ArgumentNullException("String is NULL");

            char[] charArray = s.ToCharArray();
            Array.Reverse(charArray);
            return new string(charArray);
        }

    }
}