计算包含转义字符/特殊字符/格式的字符串长度

本文关键字:字符串 特殊字符 包含 转义字符 计算 格式 | 更新日期: 2023-09-27 17:54:11

我需要能够读取字符串的文字长度。

例子:

  • "'t"代表4.
  • "'t foobar"为11
  • String.Format("'t {0, -15}", "Hello World")为20.
如果我只需要为制表符和空格工作,那么编写解码器将很容易,但对于第三个示例,我不知道如何做到这一点。是否有任何方法来强制字符串解释自己在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