一定有更好的方法来实现这个功能。我只想将长字符串分成60个字符的行,但不要打断单词。因此,它不必添加到60个字符,只需少于60个字符即可。
下面的代码是我拥有的,并且它可以工作,但我认为还有更好的方法。有人有建议吗?
修改为使用StringBuilder并解决了删除重复单词的问题。 另外,不想使用正则表达式,因为我认为那比我现在拥有的效率低。
public static List<String> FormatMe(String Message)
{
Int32 MAX_WIDTH = 60;
List<String> Line = new List<String>();
String[] Words;
Message = Message.Trim();
Words = Message.Split(" ".ToCharArray());
StringBuilder s = new StringBuilder();
foreach (String Word in Words)
{
s.Append(Word + " ");
if (s.Length > MAX_WIDTH)
{
s.Replace(Word, "", 0, s.Length - Word.Length);
Line.Add(s.ToString().Trim());
s = new StringBuilder(Word + " ");
}
}
if (s.Length > 0)
Line.Add(s.ToString().Trim());
return Line;
}
谢谢