C# 在.NET中包装短语

C# 在.NET中包装短语,c#,regex,string,C#,Regex,String,在.net中是否有任何方法可以包装每行给定最大长度的短语 例如: Phrase: The quick red fox jumps over the lazy cat Length: 20 结果: The quick red fox jumps over the lazy cat 这方面没有内置的方法。可以使用正则表达式: string text = "The quick brown fox jumps over the lazy dog."; int minLength = 1; int m

在.net中是否有任何方法可以包装每行给定最大长度的短语

例如:

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

The quick red fox
jumps over the lazy
cat

这方面没有内置的方法。可以使用正则表达式:

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();

注意:我更正了。

本文中的代码返回一个行列表,但是您应该能够轻松地调整它

C#使用拆分和列表包装文本


@gt:如果用数字表示字符串,则数字将被装箱,并调用concat(object[]),而不是concat(string[])。(我错过了一个ToString,所以我添加了它。)