2009-09-26 7 views
4

Existe-t-il une méthode dans .net qui entoure les phrases ayant une longueur maximale pour chaque ligne?Phrases de retour dans .NET

Exemple:

Phrase: The quick red fox jumps over the lazy cat 
Length: 20 

Résultat:

The quick red fox 
jumps over the lazy 
cat 

Répondre

7

Il n'y a pas construit dans la méthode pour cela. Vous pouvez utiliser une expression régulière:

string text = "The quick brown fox jumps over the lazy dog."; 
int minLength = 1; 
int maxLength = 20; 
MatchCollection lines = Regex.Matches(text, "(.{"+minLength.ToString()+","+maxLength.ToString()+"})(?: |$)|([^ ]{"+maxLength.ToString()+"})"); 
StringBuilder builder = new StringBuilder(); 
foreach (Match line in lines) builder.AppendLine(line.Value); 
text = builder.ToString(); 

Note: Je corrigeais the pangram.

+0

génial! Merci! – Schwertz

+0

+1 Nice - mais ToString() ou pas ToString() dans le Regex? ;) –

+0

@gt: Si vous concattez des chaînes avec des nombres, les nombres seront encadrés et Concat (object []) est appelé à la place de Concat (string []). (J'ai manqué un ToString, donc je l'ai ajouté.) – Guffa

Questions connexes