如何显示最多200个字符的字符串&修剪最后几个字符直到空白

时间:2012-10-09 12:51:23

标签: c# asp.net

  

可能重复:
  Truncate string on whole words in .Net C#

我必须显示新闻的简要说明,让我们说最多200个字符&修剪最后几个字符直到空白区域,我不知道我怎么能在字符串

上跳这种

示例文本

sample news description of news sample news description of news sample news description of news sample news description of news sample news description of news sample news description of news sample news description of news.

OUTPUT代码

sample news description of news sample news description of news sample news description of news sample news description of news sample news description of news sample news description of news sample n

    if (sDesc.Length > 200)
    {
        sDesc = sDesc.Substring(0, 200);
       // sDesc = sDesc + "...";
    }

如何修剪最后几个字符,使其不显示部分字词。我希望你能理解我想说的话。

所需的输出

新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻新闻描述新闻样本新闻样本新闻描述

4 个答案:

答案 0 :(得分:9)

您应该在200索引之前找到空格的索引。因此搜索所有匹配项,然后选择最接近200的索引。然后使用此索引执行子字符串,你应该好好去

string myString = inputString.Substring(0, 200);

int index = myString.LastIndexOf(' ');

string outputString = myString.Substring(0, index);

答案 1 :(得分:3)

if (sDesc.Length > 200)
{
    var str = sDesc.Substring(0, 200);
    var result = str.Substring(0, str.LastIndexOf(' '));
}

答案 2 :(得分:1)

这比接受的答案更快,因为它不会首先在200处切断,但使用LastIndexOf的start和count参数

            var lio = inputString.LastIndexOf(' ', 0, 200));
            if (lio==-1) lio = 200;
            var newString = inputString.Remove(lio);

答案 3 :(得分:0)

您可以在200之后找到空格,并在索引200之后将子字符串带到第一个空格。

int i = 200;
for(i=200; i < sDesc.Length; i++)
{
      if(input[i] == ' ')
         break;
}

string res = sDesc.Substring(0, i);