最小化C#中的字符串长度

大家好。

我想减少字符串的长度。 喜欢…

这个字符串……

string foo ="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vehicula nulla. Phasellus libero dui, luctus quis bibendum sit amet"; 

变成这个字符串……

Lorem ipsum dolor坐在一起,供奉adipistur …

我该怎么做呢? 谢谢!

 string foo ="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vehicula nulla. Phasellus libero dui, luctus quis bibendum sit amet"; string small_foo = foo.SubString(0, 50); 

使用Substring获取字符串的前50个字符。 http://msdn.microsoft.com/en-us/library/aka44szs.aspx

 public string Truncate(string input, int length) { if (input.Length < length) return input; int index = input.IndexOf(' ', length); return input.Substring(0, index) + "..."; } ... string foo ="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vehicula nulla. Phasellus libero dui, luctus quis bibendum sit amet"; string bar = Truncate(foo, 50); Console.WriteLine(bar); 

产量

Lorem ipsum dolor坐在一起,供奉adipistur ...

代替

Lorem ipsum dolor坐着,精神上的精神。 Aenean in vehicula nulla。 Phasellus libero dui,luctus quis bibendum坐下来

试试这个

 string myString = "....."; int maxLength = 30; if( myString.Length > maxLength ){ myString = myString.SubString(0, maxLength); } 

myString现在是maxLength大小的最大值。

干得好:

  class Program { static void Main(string[] args) { string foo = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vehicula nulla. Phasellus libero dui, luctus quis bibendum sit amet"; int maxlength = 50; string shortFoo = StringShortener(foo, maxlength); Console.WriteLine("{0} \n becomes: \n {1}", foo, shortFoo); Console.ReadKey(); } private static string StringShortener(string foo, int maxlength) { if (foo.Length <= maxlength) return foo; else return foo.Substring(0, maxlength - 4) + "..."; } } 
  public static string TruncatString(string input, int maxLength) { if (input.Length < maxLength) return input; return input.Substring(0, maxLength - 3) + "..."; } 

给定字符串 –

 var string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vehicula nulla. Phasellus libero dui, luctus quis bibendum sit amet"; 

1.第一种情景

 var maxlenght = 15; var shortString =(string .Length > maxlenght ) ? string.Substring(0,maxlenght ) + "..." : string; 

输出: “Lorem ipsum dol ……”;

2.第二种情景

 var shortString =(string .Length > maxlenght ) ? string.Substring(0, string.IndexOf(" ", 15)) + "..." : string; 

输出: “Lorem ipsum dolor ……”;

如果你想要最后一个字,那么第二个最好的话……

这对我来说很好…

  public static string GetShortTitleForDisplay(string title, int noOfCharacter) { var shortTitle = title; if (title.Length <= noOfCharacter) return shortTitle; var pos = title.IndexOf(" ", noOfCharacter, StringComparison.Ordinal); if (pos > 0) shortTitle = title.Substring(0, pos) + " ..."; return shortTitle; }