复杂文本格式ASP.NET / C#

时间:2011-11-18 14:23:00

标签: c# asp.net

被告不够详细,现在我会尝试尽可能详细和描述性。

所以,我有带文本框的web应用程序。在它旁边,我为预览制作了标签,所以当我点击提交时,它会将文本发送到远程应用程序,当我按下预览时,它会将文本发送到标签进行预览。

远程应用程序具有特定的文本格式,因此当我键入A文本变为红色B时,文本变为绿色,依此类推。当我不想改变颜色时,我将此标志键入新颜色,我无法关闭颜色(如HTML)。 对于新线路,我也有一个标志,它是@r 我也有双倍宽度的标志。

主要问题是做以下事情:

  1. 计算字符和空格,并在30号符号之前在最后一个空格上划线(用@r替换空格(新行符号),这样就不会占用空间到下一行)。 不应该计算@x(x是某个字母),因为它们只是进行文本格式化。
  2. 在计算字符时,当涉及%Y(双字母宽度的符号)时,它应该计算这些字母和空格的两倍,直到它到达@Z或@W,其中正常字母再次开始,并从那一点开始,再一次计数。
  3. 如果有任何不清楚的地方,请询问。

1 个答案:

答案 0 :(得分:2)

您可以访问从TextBox获取的字符串中的单个字符,并迭代它们:

StringBuilder newString = new StringBuilder();

for (int index = 0; index < textBox.Text.Length; index++)
{
   char myChar = textBox.Text[index];

   ... apply your logic as need one char at a time...
   ... you might need extra variables outside of the loop to 
   ... keep track of your last space before 30th character, etc. 

   newString.Append(...);
}

string result = newString.ToString();