在 C# 中格式化具有固定空格的字符串
在本教程中,你将了解 C# 如何让你可以使用不同的方法自由地格式化具有固定空间的字符串。 .NET 环境具有诸如 String.Format
之类的静态方法来将字符串与固定空格对齐。
使用 String.Format
方法在 C#
中格式化具有固定空格的字符串
该方法将对象、变量或表达式的值转换为字符串,并根据指定的格式将它们插入到另一个字符串中。String.Format
以格式字符串开头,后跟一个或多个对象。
{int, int}
语法表示插入字符串,可以定义插入结果字符串的字符串的宽度。例如,{0, 6}
语法表示 6 个字符的字符串。
在 C# 中,默认情况下,字符串在其字段内右对齐,并在字段宽度前加上负号 {0, -6}
以左对齐。此方法的方括号表示可选元素,格式字符串具有 {index[,alignment][:formatString]}
语法。
格式字符串的索引对应一个属于方法的参数列表的对象,这个索引可以从字符串的开头依次处理。
代码:
using System;
public class formatString {
public static void Main(string[] args) {
string prtTxtAlg = "I like burgundy.";
string txtFmtRight = String.Format("{0,30}", prtTxtAlg);
string txtFmtCenter = String.Format(
"{0,-30}",
String.Format("{0," + ((30 + prtTxtAlg.Length) / 2).ToString() + "}", prtTxtAlg));
string txtFmtLeft = String.Format("{0,-30}", prtTxtAlg);
Console.WriteLine(txtFmtRight);
Console.WriteLine(txtFmtCenter);
Console.WriteLine(txtFmtLeft);
}
}
输出:
I like burgundy.
I like burgundy.
I like burgundy.
在 C#
中使用 $ – 字符串插值
格式化具有固定空格的字符串
$
标识为包含插值表达式的插值字符串。当 $ - string
被解析为结果字符串时,它会强制将具有插值表达式的项目替换为表达式结果的字符串表示形式。
{<interpolationExpression>[,<alignment>][:<formatString>]}
语法表示字符串,其结构表示其插值表达式。 $ - 插值字符串
有一个主要元素,即 <interpolationExpression>
,以及方括号中的两个辅助元素和可选元素: <alignment>
和 <formatString>
。
interpolationExpression
生成要格式化的结果,alignment
表示正值或负值以将字符串右对齐或左对齐,formatString
由表达式结果的类型支持。
通常,需要调用支持复合格式的方法,但你可以在此方法的帮助下使用任何字符串,而无需任何方法支持复合格式。C# 通过在插值表达式中引入表达式以插入字符串而不是参数列表,从而可以轻松读取和编码插值字符串。
除了更好的可理解性和性能之外,$ - string interpolation
方法不仅可以替代对复合格式方法的调用,还可以用于字符串连接操作。它支持的连接操作可以生成更精确和可读的 C# 代码。
代码:
using System;
public class formatString {
public static void Main(string[] args) {
string value = "I like burgundy.";
string txtRight = $"{value,25}";
string txtCenter = $"{value,20}";
string txtLeft = $"{value,-10}";
Console.WriteLine(txtRight);
Console.WriteLine(txtCenter);
Console.WriteLine(txtLeft);
}
}
输出:
I like burgundy.
I like burgundy.
I like burgundy.
使用 String.PadLeft
和 String.PadRight
在 C#
中格式化具有固定空格的字符串
String.PadLeft
方法将带有前导字符的字符串填充到指定的总长度。String.PadRight
方法将带有尾随字符的字符串填充到指定的总长度。
你可以从这两个 String 方法中获取概念,并创建一个新的 String.PadCenter
方法,你将在以下 C# 代码中找到该方法。String
方法中的填充字符可以是空格或指定字符,生成的字符串显示为右对齐或左对齐。
在 C# 中,PadLeft()
和 PadRight()
可以通过在左侧或右侧填充空格或指定字符以指定总长度来右对齐或左对齐字符串。
代码:
using System;
public class formatString {
public static void Main(string[] args) {
string txt = "I like burgundy.";
Console.WriteLine(txt.PadLeft(20, ' '));
// to pad_center the string using custom C# code
Console.WriteLine(txtCenter.PadCenter(txt, 20, ' '));
Console.WriteLine(txt.PadRight(20, ' '));
}
}
// custom code to create `PadCenter` String method in C#
public static class txtCenter {
public static string PadCenter(this string txt, int width, char symb) {
if (txt == null || width <= txt.Length)
return txt;
int padding = width - txt.Length;
return txt.PadLeft(txt.Length + padding / 2, symb).PadRight(width, symb);
}
}
输出:
I like burgundy.
I like burgundy.
I like burgundy.
在本教程中,你已经了解了有关在 C# 中使用固定空格或填充格式化字符串的所有知识。
相关文章
从 C# 中的字符串中删除字符
发布时间:2024/01/16 浏览次数:74 分类:编程语言
-
有 4 种主要方法可用于从 C# 中的字符串,string.Replace()函数,string.Join()和 string.Split()函数,Regex.Replace()函数以及 Linq 方法。
在 C# 中重复字符串 X 次
发布时间:2024/01/16 浏览次数:173 分类:编程语言
-
在 C# 中,可以使用三种主要方法将字符串重复 x 次:字符串类构造函数,StringBuilder 类和 LINQ 方法。用 C# 中的 string 类构造函数重复执行 X 次字符串
在 C# 中重复字符串
发布时间:2024/01/16 浏览次数:140 分类:编程语言
-
可使用三种主要方法在 C# 中重复字符串,String 构造函数,LINQ 中的 Enumerable.Repeat()函数以及 StringBuilder 类。
在 C# 中向数组中添加字符串
发布时间:2024/01/16 浏览次数:168 分类:编程语言
-
没有内置方法可以将新元素动态添加到 C# 中完全填充的数组中。使用 C# 中的 List.Add() 方法将字符串添加到数组
在 C# 中截断字符串
发布时间:2024/01/16 浏览次数:66 分类:编程语言
-
我们可以使用 C# 中的 String.Substring()方法创建一个字符串的截断副本。在 C# 中使用 String.Substring() 方法截断字符串
在 C# 中将字符串格式设置为货币格式
发布时间:2024/01/16 浏览次数:156 分类:编程语言
-
在 C# 中,可以使用两种主要方法将字符串格式化为货币格式,即 String.Format()和 ToString()函数。在 C# 中使用 String.Format() 方法将字符串格式化为货币
在 C# 中将字符串拆分为列表
发布时间:2024/01/16 浏览次数:122 分类:编程语言
-
我们可以使用 string.Split()函数和 C# 中的 Linq 的 ToList()函数,将可变的字符串转换为字符串列表。在 C# 中使用 String.Split() 方法将字符串变量拆分为字符串列表
在 C# 中检查一个字符串是否为空或 null
发布时间:2024/01/16 浏览次数:132 分类:编程语言
-
string.IsNullOrEmpty()方法用于检查字符串在 C# 中是否为 null 或 string.Empty 值。检查 C# 中的字符串是空或者 null 如果我们要检查其中包含 null 值或""值的字符串,可以在 C# 中使用 string.IsNullOrEmpty() 方