Here are the examples of the csharp api System.Text.StringBuilder.AppendFirstCharToUpper(string) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
19
Source : NameCleaner.cs
with MIT License
from zamgi
with MIT License
from zamgi
public static string Clean( string name, char wordsSeparator = '.' )
{
if ( name.IsNullOrEmpty() )
{
return (name);
}
var array = name.Split( PUNCTUATION_CHARS, StringSplitOptions.RemoveEmptyEntries );
#region [.phase #1.]
var firstWholeNumbersWord = default(string);
var words = new List< (string word, bool isOnlyLetters) >( array.Length );
foreach ( var s in array )
{
if ( EXCLUDES_WORDS_SET.Contains( s ) )
{
continue;
}
if ( int.TryParse( s, out var _ ) )
{
if ( firstWholeNumbersWord == null )
{
firstWholeNumbersWord = s;
}
continue;
}
words.Add( (s, s.IsOnlyLetters()) );
}
if ( !words.Any() )
{
var s = (firstWholeNumbersWord ?? "---");
words.Add( (s, s.IsOnlyLetters()) );
}
#endregion
#region [.phase #2.]
const char SPACE = ' ';
var sb = new StringBuilder( name.Length );
var prev_word_isOnlyLetters = true;
foreach ( var t in words )
{
if ( t.word.TryParseSE( out var se ) )
{
if ( !sb.IsEmpty() )
{
sb.ReplaceLastCharIfNotEqual( wordsSeparator );
}
sb.Append( se ).Append( wordsSeparator );
break;
}
if ( prev_word_isOnlyLetters ) //&& t.isOnlyLetters )
{
sb.AppendFirstCharToUpper( t.word ).Append( (t.isOnlyLetters ? SPACE : wordsSeparator) );
}
else
{
sb.Append( t.word ).Append( wordsSeparator );
}
prev_word_isOnlyLetters = t.isOnlyLetters;
}
sb.RemoveLastChar();
#endregion
return (sb.ToString());
}