我正在聊天系统中处理字符串。我已经在输入字符串的textarea中添加了属性wrap =“hard”,但是当字符串换行到下一行时,浏览器没有添加换行符。
我试过这个,但由于某种原因它没有用。
string message = null;
string[] messageLines = commMessage.Split('\n');
foreach (string messageLine in messageLines)
{
if (messageLine.Length > 60)
{
messageLine.Insert(messageLine.LastIndexOf(' ', 60), "\n");
}
message += messageLine;
}
知道为什么它不起作用吗?
答案 0 :(得分:3)
问题是字符串的Insert()
方法不会修改原始字符串,而是返回新字符串。使用该方法的返回值。
请参阅Insert方法的文档。
您可以这样做:
StringBuilder message = new StringBuilder();
string[] messageLines = commMessage.Split('\n');
foreach (string messageLine in messageLines)
{
if (messageLine.Length > 60)
{
message.Append(messageLine.Insert(messageLine.LastIndexOf(' ', 60), "\n"));
}
else
{
message.Append(messageLine);
}
}
// do something with message.ToString()