这篇文章主要讲解了“C# 中 PadLeft和PadRight 的用法和作用讲解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C# 中 PadLeft和PadRight 的用法和作用讲解”吧!
C# 中 PadLeft ,PadRight的用法
简单来说就是给字符串实现补位。
如:String.PadLeft(5,'0'); 表示检查字符串长度是否少于5位,若少于5位,则自动在其左侧以'0'补足。
同理PadRight是在右侧实现补位。
补位
string str = "10";
str.PadLeft(5,'0')
输出:00010
str.PadRight(5, '0')
输出:10000
因为在NET中,string的Length并不区分当前字符串包含的字符为单字节还是双字节字符,这样导致我们在通过字符串的PadLeft和PadRight方法处理一些需要排版显示的字符串时,会使得相关显示参差不齐,所以这里就有了这么一个扩展,让双字节显示占用的两个单字节宽度“吐”出来,下面是具体代码
using System.Text.RegularExpressions; public static class StringExtensions { /// <summary> /// 按单字节字符串向左填充长度 /// </summary> /// <param name="input"></param> /// <param name="length"></param> /// <param name="paddingChar"></param> /// <returns></returns> public static string PadLeftWhileDouble(this string input, int length, char paddingChar = '\0') { var singleLength = GetSingleLength(input); return input.PadLeft(length - singleLength + input.Length, paddingChar); } private static int GetSingleLength(string input) { if (string.IsNullOrEmpty(input)) { throw new ArgumentNullException(); } return Regex.Replace(input, @"[^\x00-\xff]", "aa").Length;//计算得到该字符串对应单字节字符串的长度 } /// <summary> /// 按单字节字符串向右填充长度 /// </summary> /// <param name="input"></param> /// <param name="length"></param> /// <param name="paddingChar"></param> /// <returns></returns> public static string PadRightWhileDouble(this string input, int length, char paddingChar = '\0') { var singleLength = GetSingleLength(input); return input.PadRight(length - singleLength + input.Length, paddingChar); } }
测试代码如下
Console.WriteLine("123测试测试".PadRightWhileDouble(25) + "1"); Console.WriteLine("123测试测试".PadRightWhileDouble(25, 'A') + "1"); Console.WriteLine("1231212".PadRightWhileDouble(25) + "1"); Console.WriteLine("1231212".PadRightWhileDouble(25, 'A') + "1"); Console.WriteLine("123测试测试".PadLeftWhileDouble(25) + "1"); Console.WriteLine("123测试测试".PadLeftWhileDouble(25, 'A') + "1"); Console.WriteLine("1231212".PadLeftWhileDouble(25) + "1"); Console.WriteLine("1231212".PadLeftWhileDouble(25, 'A') + "1");
测试效果图
下面是正常的用法
在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位。
PadLeft(int totalWidth, char paddingChar) //在字符串左边用 paddingChar 补足 totalWidth 长度
PadRight(int totalWidth, char paddingChar) //在字符串右边用 paddingChar 补足 totalWidth 长度
示例:
1.假如想输出AAAAA,可以用string.Empty.PadLeft(5,'A');
2.假如想输出:
*
**
***
****
可以用PadLeft实现:
for(int i=1;i<=4;i++) { Console.WriteLine(string.Empty.PadLeft(i,'*')); }
感谢各位的阅读,以上就是“C# 中 PadLeft和PadRight 的用法和作用讲解”的内容了,经过本文的学习后,相信大家对C# 中 PadLeft和PadRight 的用法和作用讲解这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。