Mega Code Archive

 
Categories / C# / Data Types
 

Convert the word(s) in the sentence to sentence case

/*  * Author: Kishore Reddy  * Url: http://commonlibrarynet.codeplex.com/  * Title: CommonLibrary.NET  * Copyright: ? 2009 Kishore Reddy  * License: LGPL License  * LicenseUrl: http://commonlibrarynet.codeplex.com/license  * Description: A C# based .NET 3.5 Open-Source collection of reusable components.  * Usage: Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ using System; using System.Collections.Generic; using System.Text; namespace GenericCode {         public class StringHelpers     {         /// <summary>         /// Convert the word(s) in the sentence to sentence case.         /// UPPER = Upper         /// lower = Lower         /// MiXEd = Mixed         /// </summary>         /// <param name="s"></param>         /// <param name="delimiter"></param>         /// <returns></returns>         public static string ConvertToSentanceCase(string s, char delimiter)         {             // Check null/empty             if (string.IsNullOrEmpty(s))                 return s;             s = s.Trim();             if (string.IsNullOrEmpty(s))                 return s;             // Only 1 token             if (s.IndexOf(delimiter) < 0)             {                 s = s.ToLower();                 s = s[0].ToString().ToUpper() + s.Substring(1);                 return s;             }             // More than 1 token.             string[] tokens = s.Split(delimiter);             StringBuilder buffer = new StringBuilder();             foreach (string token in tokens)             {                 string currentToken = token.ToLower();                 currentToken = currentToken[0].ToString().ToUpper() + currentToken.Substring(1);                 buffer.Append(currentToken + delimiter);             }             s = buffer.ToString();             return s.TrimEnd(delimiter);         }     } }