Klipp av för långa texter på smart sätt

Hittade en smidig funktion hos Ted Nyberg som klipper av texter på ett bra sätt. Hacket kommer aldrig i mitten av ett ord och ifall det är mitt i en mening läggs tre punkter till.

Hoppas att det är lugnt att jag återpublicerar koden här också.

public static string TruncateText(string OriginalText, 
    int MaxCharacters)
{
   string stopChars = " .!?";

   if (OriginalText.Length > MaxCharacters)
   { 
      string stringToReturn = OriginalText.Substring(0, MaxCharacters); 

      while (!stopChars.Contains(stringToReturn.Substring
         (stringToReturn.Length-1)) && stringToReturn.Length>0)
      { 
         stringToReturn = stringToReturn.Substring(0, 
            stringToReturn.Length - 1);
      } 

      if (stringToReturn.Length == 0)
         stringToReturn = OriginalText.Substring(MaxCharacters);

      stringToReturn = stringToReturn.Trim(); 
     
      if(!stopChars.Contains(stringToReturn.Substring
         (stringToReturn.Length-1))) 
      { 
         stringToReturn += "..."; 
      } 

      return stringToReturn; 
   } 
   else 
   { 
      return OriginalText; 
   }
}

Comments

Sen i och med C# 3.0 så gör man om det där till en Extension Method till String och det blir ännu snyggare.

Great resource shared here. Thanks for sharing it.

http://www.janbaskdigitaldesign.com

Great resource shared here.thank you for sharing with us. http://www.onlinepromotionuae.ae

thanks for a sharing Then in the C # 3.0 you do about that to an Extension Method to String, and it gets even better. Andaman Tour Packages

Superbly written article, If you have any problem in acer computer then you just have to Call at Acer Support Number UK 0800-098-8371 toll free would be helpful for you as the technicians there will provide you assistance to resolve the issue.

very good post Lenovo Laptop Support Number

Please fill out all the fields.

*
*