我需要能够读取字符串的文字长度。
示例:
- “\t”将是 4。
- "\t foobar"将是 11
String.Format("\t {0, -15}", "Hello World")
将为 20。
如果我只需要解码器来处理制表符和空格,那么编写解码器会很容易,但是对于第三个示例,我对如何做到这一点一无所知。有没有办法强制 String 在 C# 中解释自身?
谢谢。
最佳答案
如果您要控制“\t”等于 4 个空格,那么为什么不将所有“\t”替换为 4 个空格?
类似于:
public static void Main(string[] args)
{
Console.WriteLine(GetLength("\t"));
Console.WriteLine(GetLength("\t foobar"));
Console.WriteLine(GetLength(String.Format("\t {0, -15}", "Hello World")));
Console.WriteLine(GetLength("a\t"));
Console.ReadLine();
}
private static int GetLength(string str)
{
return str.Replace("\t", " ").Length;
}
结果:
4
11
20
5
关于c# - 使用转义字符/特殊字符/格式计算字符串的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30713986/