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;
}
}
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
Johan Wrote:
16:e November 2007
Tags