复杂的文本格式ASP.NET/C#
本文关键字:NET ASP 格式 文本 复杂 | 更新日期: 2023-09-27 18:15:17
被指责不够详细,现在我将尽可能详细和描述。
所以,我有web应用程序与文本框。在它旁边我做了一个预览标签,所以当我点击提交,它发送文本到远程应用程序,当我按下预览,它发送文本到标签预览。
远程应用程序具有特定的文本格式,因此当我输入A
时文本变为红色,B
时文本变为绿色,以此类推。当我不想改变颜色时,我输入这个符号表示新颜色,我不能关闭颜色(就像在HTML中一样)。对于新行,我也有一个符号,它是@r我也有双倍宽度的符号
主要问题是做以下事情:
- 计算字符和空格,并在第30个符号之前的最后一个空格处换行(将空格替换为@r(新行符号),因此空格不会被占用到下一行)。@x(x是某个字母)不应该被计算在内,因为它们只是用于文本格式化。
- 在计数字符时,当涉及到%Y(双字母宽度的符号)时,它应该将这些字母和空格加倍计数,直到到达@Z或@W,在那里正常的字母再次开始,并从那一点开始,再次逐一计数。
如果有什么不清楚的,请提问。
您可以访问从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();