Пример #1
0
        public static string SplitWord(string text, int charsPerWord, string spacer)
        {
            if (string.IsNullOrEmpty(text))
            {
                return(text);
            }
            int numberOfTimesToSplit = TextSplitter.GetNumberOfTimesToSplit(text.Length, charsPerWord);

            if (numberOfTimesToSplit == 0)
            {
                return(text);
            }
            StringBuilder stringBuilder = new StringBuilder();
            int           num           = 0;

            for (int i = 1; i <= numberOfTimesToSplit; i++)
            {
                string value = (i < numberOfTimesToSplit) ? text.Substring(num, charsPerWord) : text.Substring(num);
                stringBuilder.Append(value);
                if (i < numberOfTimesToSplit)
                {
                    stringBuilder.Append(spacer);
                }
                num += charsPerWord;
            }
            return(stringBuilder.ToString());
        }
Пример #2
0
        public static string CheckAndSplitText(string text, int maxCharsInWord)
        {
            if (string.IsNullOrEmpty(text))
            {
                return(text);
            }
            bool flag          = false;
            int  num           = 0;
            int  indexOfSpacer = text.GetIndexOfSpacer(num, ref flag);

            if (indexOfSpacer < 0 && text.Length > maxCharsInWord)
            {
                return(TextSplitter.SplitWord(text, maxCharsInWord, " "));
            }
            StringBuilder stringBuilder = new StringBuilder();

            while (num < text.Length && indexOfSpacer > 0)
            {
                int    num2  = indexOfSpacer - num;
                string text2 = text.Substring(num, num2);
                string str   = flag ? Environment.NewLine : " ";
                if (num2 > maxCharsInWord)
                {
                    string str2 = TextSplitter.SplitWord(text2, maxCharsInWord, " ");
                    stringBuilder.Append(str2 + str);
                }
                else
                {
                    stringBuilder.Append(text2 + str);
                }
                num           = (flag ? (indexOfSpacer + 2) : (indexOfSpacer + 1));
                indexOfSpacer = text.GetIndexOfSpacer(num, ref flag);
            }
            if (num < text.Length && indexOfSpacer < 0)
            {
                int    num3  = text.Length - num;
                string text3 = text.Substring(num, num3);
                if (flag)
                {
                    string arg_DE_0 = Environment.NewLine;
                }
                if (num3 > maxCharsInWord)
                {
                    string value = TextSplitter.SplitWord(text3, maxCharsInWord, " ");
                    stringBuilder.Append(value);
                }
                else
                {
                    stringBuilder.Append(text3);
                }
            }
            return(stringBuilder.ToString());
        }