我有一个简单的问题,我无法找到答案。我想创建一个字符串,在50个字符之后用三个点代替它后面的所有内容?因此,作为一个简单的例子:C# - 字符串替换
(敏捷的棕色狐狸跳过了懒狗) 将成为类似: (敏捷的棕色狐狸跳过了啦...)
如果有人能够给我一个快速的答案或指向我的回答问题,将不胜感激?
我有一个简单的问题,我无法找到答案。我想创建一个字符串,在50个字符之后用三个点代替它后面的所有内容?因此,作为一个简单的例子:C# - 字符串替换
(敏捷的棕色狐狸跳过了懒狗) 将成为类似: (敏捷的棕色狐狸跳过了啦...)
如果有人能够给我一个快速的答案或指向我的回答问题,将不胜感激?
我的假设是,你最多只需要maxLength字符。
if(string.Length >= maxLength)
{
string newString = string.Substring(0, maxLength - 3);
newString += "...";
}
这会留下47个字符。他只需要50个字符后的三个点,除非当然maxLength == 53. :) – doctorless
'string.length()'你用什么C#方言? ;-) –
@UweKeim java sharp = p – Woot4Moo
使用子:(yourstringvariable.Length > 50 ? yourstringvariable.Substring(0, 50) + "..." : yourstringvariable);
string shortened = s.Length > 50 ? s.Substring(0, 50) + "..." : s;
可能需要一些调整,因为这其中也将被省略,如果您对显示长度的目的这样做是代替单个字符可能不够。
试试下面的代码:
string mystring;
myString = (orig_string.Length > 50) ? orig_string.SubString(0, 50) + "..." : orig_string;
它也可能是好的,其实现为一个扩展方法。像这样:
public static class StringExtensions
{
public static string Truncate(this String str, int length)
{
return str.Substring(0, length) + "...";
}
}
+1我也成为了扩展方法瘾君子。 –
您是否尝试过使用'Substring'获取前50个字符的最简单方法?你碰到了什么缺陷,比如输入的长度不恰当,可能是在字里面或者在标点符号之后出现不幸,等等。 –
你尝试过谷歌吗?它很难相信,你找不到这样简单的东西... – sasjaq
看到类似的问题上SO: http://stackoverflow.com/search?q=truncate+c%23+string和在网络上: http://www.bing.com/search?setmkt=en-US&q=truncate+a+c%23+string – Mark