Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何显示最多200个字符的字符串&将最后几个字符修剪为空白_C#_Asp.net - Fatal编程技术网

C# 如何显示最多200个字符的字符串&将最后几个字符修剪为空白

C# 如何显示最多200个字符的字符串&将最后几个字符修剪为空白,c#,asp.net,C#,Asp.net,可能重复: 我必须显示新闻的简要描述,比如说最多200个字符&将最后几个字符删减到空白处,我不确定如何在字符串上绊倒这种情况 示例文本 新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻 输出代码如下 新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本新闻描述新闻样本 如何修剪最后几个字符,使其不显示单词的一部分

可能重复:

我必须显示新闻的简要描述,比如说最多200个字符&将最后几个字符删减到空白处,我不确定如何在字符串上绊倒这种情况

示例文本

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

输出代码如下

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

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

期望输出


新闻示例新闻描述新闻示例新闻描述新闻示例新闻描述新闻示例新闻描述新闻示例新闻描述新闻示例新闻描述新闻示例新闻描述新闻示例新闻描述新闻示例

您应该在200索引之前找到空格的索引。因此,搜索所有事件,然后选择最接近200的索引。然后用这个索引做一个子串,你就可以开始了

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

int index = myString.LastIndexOf(' ');

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

您可以找到200后的空间,并将子字符串一直带到索引200后的第一个空间

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

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

这将比公认的答案更快,因为它不首先在200处切断,而是使用LastIndexOf的start和count参数来减少一个stringcopy

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

这个问题已经有了很好的答案。请看@Kavin,做得很好。。谢谢..第一行将引发异常,因为inputString小于200个字符
int i = 200;
for(i=200; i < sDesc.Length; i++)
{
      if(input[i] == ' ')
         break;
}

string res = sDesc.Substring(0, i);
            var lio = inputString.LastIndexOf(' ', 0, 200));
            if (lio==-1) lio = 200;
            var newString = inputString.Remove(lio);