截断字符串在整个词语的.NET C# [英] Truncate string on whole words in .NET C#

查看:241
本文介绍了截断字符串在整个词语的.NET C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想截断在C#中一些长期的文字,但我不希望我的字符串被截断一部分的方式,通过一个字。有没有人有,我可以用它来截断我字符串中的单词的末尾功能?

例如:

 这是一个很长的字符串...
 

 这是一个漫长的圣......
 

解决方案

谢谢您的回答大卫。我已经调整了功能一点,这是我使用的是什么......除非有任何更多的评论;)

 公共静态字符串TruncateAtWord(此字符串输入,INT的长度)
{
    如果(输入== NULL || input.Length<长度)
        返回输入;
    INT iNextSpace = input.LastIndexOf(,长度);
    返回的String.Format({0} ...,input.Substring(0,(iNextSpace大于0)iNextSpace:长度).Trim());
}
 

I am trying to truncate some long text in C#, but I don't want my string to be cut off part way through a word. Does anyone have a function that I can use to truncate my string at the end of a word?

E.g:

"This was a long string..."

Not:

"This was a long st..."

解决方案

Thanks for your answer Dave. I've tweaked the function a bit and this is what I'm using ... unless there are any more comments ;)

public static string TruncateAtWord(this string input, int length)
{
    if (input == null || input.Length < length)
        return input;
    int iNextSpace = input.LastIndexOf(" ", length);
    return string.Format("{0}...", input.Substring(0, (iNextSpace > 0) ? iNextSpace : length).Trim());
}

这篇关于截断字符串在整个词语的.NET C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆