view Lang/StringManipulation.cs @ 20:855b4903b256

Re #12 - Document methods and classes * Add documentation to InvalidFileException at class level
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Feb 2009 14:28:07 +0000
parents 0352fa33ee8f
children 23fd4247fc1c
line wrap: on
line source

// This file (StringManipulation.cs) is a part of the IBBoard library and is copyright 2009 IBBoard.
//
// The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license.

using System;
using System.Text;

namespace IBBoard.Lang
{
	/// <summary>
	/// Summary description for StringManipulation.
	/// </summary>
	public class StringManipulation
	{		
		private static Encoding utf8;

		static StringManipulation()
		{
			utf8 = Encoding.UTF8;
		}

		public static byte[] StringToBytes(string str)
		{
			return utf8.GetBytes(str);
		}

		public static string RemoveFromLast(string stringToTrim, char removeFrom)
		{
			return stringToTrim.Substring(0, stringToTrim.LastIndexOf(removeFrom));
		}

		public static string CutToLength(string stringToShorten, int length)
		{
			int strLength = stringToShorten.Length;

			if (length >= strLength-2)
			{
				return stringToShorten;
			}
			else
			{
				int diff = (strLength - length) / 2;
				int halfLength = strLength / 2;
				return stringToShorten.Substring(0, halfLength - diff)+"..."+stringToShorten.Substring(halfLength + diff);
			}
		}
	}
}