C#中的字符串操作 - 最后一个索引

时间:2014-02-03 01:45:26

标签: c# asp.net

我正在聊天系统中处理字符串。我已经在输入字符串的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;
}

知道为什么它不起作用吗?

1 个答案:

答案 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()