Utils/StringExtensions.cs
using System.Text;

public static class StringExtensions
{
	public static string ToIdentifier( this string input )
	{
		if ( string.IsNullOrWhiteSpace( input ) )
			return string.Empty;

		var sb = new StringBuilder();

		foreach ( char c in input.ToLowerInvariant() )
		{
			if ( char.IsLetterOrDigit( c ) )
			{
				sb.Append( c );
			}
			else if ( c == ' ' )
			{
				sb.Append( '_' );
			}
			// ignore all other characters (symbols, punctuation, etc.)
		}

		return sb.ToString();
	}
}