今天,用C#写程序操作Excel,读取单元格内容根据所需格式生成字符串,使用String.Format(string format,object arg0)方法。以前只知“{0}”为索引占位符(即格式项),与参数列表中的第一个对象相对应,格式设置过程将每个格式项替换为对应对象的值的文本表示形式。但这次需将参数对象格式成一对大括号括起来的格式,即返回字符串“{对象arg0的文本表示形式}”。

//直接加大括号

String.Format("{{0}}",1);//{0}

如果使用上面语句,并不能获得所需结果“{1}”,因为左大括号和右大括号被解释为格式项的开始和结束,如果要在format参数中指定大括号字符,须使用转义序列显示文本左大括号或右大括号。在格式化字符串中这个转义字符还是大括号本身。因此,在固定文本中指定两个左大括号 (“{{”) 以显示一个左大括号 (“{”),或指定两个右大括号 (“}}”) 以显示一个右大括号 (“}”)。

//本例的一种正确方式

String.Format("{{{0}}}",1);//{1}

按照在format中遇到大括号的顺序依次解释它们,不支持解释嵌套的大括号。虽然上面能得到正确结果,但解释转义大括号的方式会导致意外的结果。例如,考虑要显示一个左大括号、一个格式化为十进制数的数值和一个右大括号的格式项“{{{0:D}}}“。但是,实际是按照以下方式解释该格式项:

1、前两个左大括号 ("{{") 被转义,生成一个左大括号;

2、之后的三个字符 ("{0:") 被解释为格式项的开始。

3、下一个字符 ("D") 将被解释为 Decimal 标准数值格式说明符,但后面的两个转义大括号 ("}}") 生成单个大括号。由于得到的字符串 ("D}") 不是标准数值格式说明符号,所以得到的字符串会被解释为用于显示字符串“D}”的自定义格式字符串。

4、最后一个大括号 ("}") 被解释为格式项的结束。

5、显示的最终结果是字符串“{D}”。不会显示本来要格式化的数值。

在编写代码时,避免错误解释转义大括号和格式项的一种方法是单独格式化大括号和格式项。也就是说,在第一个格式化操作中显示文本左大括号,在下一操作中显示格式项的结果,然后在最后一个操作中显示文本右大括号。

//正确无误的形式

String.Format("{0}{1}{2}","{",1,"}");//{1}

python 大括号转义_string.format格式化字符串中转义大括号“{}”相关推荐

  1. java字符串 大括号_string.format格式化字符串中转义大括号“{}”

    今天,用Java读取配置文件占位符,使用String.Format(string format,object arg0)方法.以前只知"{0}"为索引占位符(即格式项),与参数列表 ...

  2. C#格式化字符串中转义大括号“{}”

    C#格式化字符串中转义大括号"{}" 原文:C#格式化字符串中转义大括号"{}" 今天,用C#写程序操作Excel,读取单元格内容根据所需格式生成字符串,使用S ...

  3. linux括号转义字符串,C#格式化字符串中转义大括号“{}”

    转自:https://blog.csdn.net/weixin_30312659/article/details/98686107 原文:http://www.cnblogs.com/fsjohnhu ...

  4. Python基础教程:format 格式化字符串用法

    1.format 格式化字符串 (1) 顺序传参 (2) 索引传参 (3) 关键字传参 (4) 容器类型传参 {} 代表的是占位符 2.顺序传参 strvar = "{}向{}开了一枪&qu ...

  5. Python用format格式化字符串

    format是是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 2.单个参数可以多次输出,参数顺 ...

  6. C# 中格式化字符串中包含 { 或者 } 如何转义?

    C# 中使用类似 {0}, {1:yyyy-MM-dd} 这样的格式占位符,如果被格式化字符串本身包含 { 或者 } 怎么办呢?答案是:用两个 { 或者 }连写表示单个. 例如 string str1 ...

  7. Python print函数及format()格式化输出详解

    今天继续给大家介绍Python相关知识,本文主要内容是Python print函数及format()格式化输出详解. 一.print()函数基本使用 print()函数是Python中用于向控制台输出 ...

  8. C#格式化字符串中输入花括号

      一直都在使用String.Format函数格式化输出字符串,但从来没有在其中输出过带花括号的字符串,花括号一般在String.Format的格式化字符串中指定输出项及输出项的格式,如果要将其作为普 ...

  9. python输出1到9_1-9-Python格式化字符串(格式化输出)

    Python提供了"%"对各种类型的数据进行格式化输出,例如如下代码: 1.price = 108 2.print ("the book's price is %s&qu ...

最新文章

  1. 关于:last-child的一点见解
  2. 5个让你充满健身动力的方法
  3. 黑苹果找不到触控板_苹果App内测找不到苹果企业签名怎么办?
  4. 18.6 负载均衡集群介绍 18.7 LVS介绍 18.8 LVS调度算法 18.9/18.10 LVS NAT模式搭建
  5. python利用什么模块_什么是Python的heapq模块?
  6. hadoop学习日志
  7. 【华为云技术分享】使用pdb调试python代码的方法
  8. [转发]黑苹果修改DSDT彻底解决关机不断电和睡眠问题
  9. PC-hosts 的使用 [可使电脑无法正常上网]
  10. Spring Security3源码分析-LogoutFilter分析
  11. 安装Win7或者XP系统用虚拟光驱加载Win7或者XP镜像 iso文件xp win7wim文件
  12. SmartUpload出现的问题
  13. POJ3744 Scout YYF I 概率DP+矩阵快速幂
  14. Get “https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.
  15. 地理信息系统(GIS)的发展历程
  16. FCPX:镜头故障抖动效果TOBK TWITCH for Mac
  17. 华北地区博友链接集合(陆续增加中)
  18. 苹果电脑修改用户名方法
  19. VYSOR-投屏软件
  20. 360与wifi共享精灵谁更随身?

热门文章

  1. 百度收银台支付开通指引说明
  2. 2015软件工程(大一下)职业规划第5次作业【个人成就故事】
  3. 引起cpu流水线阻塞的三个原因
  4. 有趣的NandGame
  5. [附源码]计算机毕业设计JAVAjsp医院药房管理系统
  6. 程序江湖:第三章 莫等闲白了少年头
  7. 揭秘微商2015年的高端玩法
  8. vba移动文件_VBA操作文件和文件夹
  9. halcon视觉缺陷检测系列(1)常用的6种方法
  10. 非AB实验的效果评估