我有一个像这样的文字
var data = "âô¢¬ôè÷¢ : ªîø¢è¤ô¢ - ã¿ñ¬ô ñèù¢ ªð¼ñ£÷¢ ï¤ôñ¢,«ñø¢è¤ô¢ - ªð¼ñ£÷¢ ñèù¢ ÝÁºèñ¢ ï¤ô袰ñ¢ ñ¤ì¢ì£ Üò¢òñ¢ ªð¼ñ£ñ¢ð좮 è¤ó£ñ âô¢¬ô袰ñ¢,õìè¢è¤ô¢ - ÝÁºèñ¢ ï¤ôñ¢,è¤öè¢è¤ô¢ - ô좲ñ¤ ï¤ôñ¢ ñø¢Áñ¢ 1,22 ªê ï¤ôñ¢ ð£î¢î¤òñ¢";
我有扩展方法来拆分字符串
public static IEnumerable<string> EnumByLength(this string s, int length)
{
for (int i = 0; i < s.Length; i += length)
{
if (i + length <= s.Length)
{
yield return s.Substring(i, length);
}
else
{
yield return s.Substring(i);
}
}
}
public static string[] SplitByLength(this string s, int maxLen)
{
var v = EnumByLength(s, maxLen);
if (v == null)
return new string[] { s };
else
return s.EnumByLength(maxLen).ToArray();
}
现在我的问题是
要按最大长度拆分此字符串,150
并且必须仅通过其中的最近空格进行拆分..(在..之前150
或之后150
..而不是在单词中间。
如何?