C#:字符串做20位截断

在C#中,如果需要对字符串进行20位截断处理,即如果字符串长度超过20个字符,则只保留前20个字符,可以使用几种不同的方法来实现这一功能。下面是一些常用的方法:

方法1:使用`Substring`方法

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = originalString.Length > 20 ? originalString.Substring(0, 20) : originalString;

Console.WriteLine(truncatedString);

方法2:使用`string.Length`属性与`if`语句结合

string originalString = "这是一个很长的字符串,需要被截断。";

if (originalString.Length > 20)

{

originalString = originalString.Substring(0, 20);

}

Console.WriteLine(originalString);

方法3:使用`string.Length`属性与`? :`运算符(三元运算符)

这种方法与第一种方法类似,但使用了三元运算符,使代码更简洁。

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = originalString.Length > 20 ? originalString.Substring(0, 20) : originalString;

Console.WriteLine(truncatedString);

方法4:使用LINQ的`Take`方法

虽然这不是最直接的方法,但如果想要一个更函数式的方法,可以使用LINQ的`Take`方法。这种方法首先将字符串转换为字符数组,然后取前20个字符,最后再转换回字符串。

using System.Linq;

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = new string(originalString.Take(20).ToArray());

Console.WriteLine(truncatedString);

方法5:使用扩展方法

也可以创建一个扩展方法来复用这段逻辑:

public static class StringExtensions

{

public static string Truncate(this string value, int maxLength)

{

if (string.IsNullOrEmpty(value)) return value;

return value.Length <= maxLength ? value : value.Substring(0, maxLength);

}

}

然后可以这样使用这个扩展方法:

string originalString = "这是一个很长的字符串,需要被截断。";

string truncatedString = originalString.Truncate(20);

Console.WriteLine(truncatedString);

相关推荐
临床数据科学和人工智能兴趣组2 小时前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
andyweike5 小时前
php笔记
开发语言·笔记·php
Circ.6 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
波力海苔夹心脆6757 小时前
C# 序列化与反序列化详解:System.Text.Json、Newtonsoft.Json、XmlSerializer 用法、特性选项与安全实践
经验分享·后端·c#·json·.net
现任明教教主~8 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
Zhou1411368 小时前
SpringSecurity_02_授权与高级功能
开发语言·python
码匠许师傅9 小时前
【C++三方组件】cpp-httplib:一个头文件起 HTTP 服务
开发语言·c++·http
小小小小钰儿10 小时前
1.5-Python网络编程
开发语言·网络·python·web安全·计算机·网络安全