用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}

json字符串中的大括号转义传到后台_string.format格式化字符串中转义大括号“{}”...相关推荐

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

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

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

    今天,用C#写程序操作Excel,读取单元格内容根据所需格式生成字符串,使用String.Format(string format,object arg0)方法.以前只知"{0}" ...

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

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

  4. [转载] python格式化字符串漏洞_从两道CTF实例看python格式化字符串漏洞

    参考链接: Python str.format()中的漏洞 >>> name = 'Hu3sky' >>> s = Template('My name is $na ...

  5. Python用format格式化字符串

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

  6. string.Format 格式化字符串

    http://www.cnblogs.com/linyechengwei/archive/2009/11/17/1604509.html 今天在做项目时,碰到一个很奇怪的问题,我使用string.Fo ...

  7. java 补齐字符串_使用String.format()格式化字符串,java自动补全自增长字符串

    JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object... args) 使用指定的语言 ...

  8. json 大括号 转意_json字符串中的大括号转义传到后台_JSON 序列化中的转义和 Unicode 编码...

    本文比较完整地整理一下 JSON 编码中的转义,以及 JSON 对 Unicode 编码的处理. 其实这是我上一篇文章的姊妹篇.在研究 Unicode 颜文字的时候,由于我们的数据传输是通过 JSON ...

  9. json字符串中的大括号转义传到后台_json转义问题

    后端程序接受前台传递过来json 1正常json没有问题 比如 { "id":21, "userName":"2张天师", "ph ...

  10. js使用工具将表单封装成json字符串传到后台,js截取字符串(学生笔记)

    <script src="js/jquery.min.js"></script> <script src="https://cdn.boot ...

最新文章

  1. 教你写一个可以找到.m文件所有接口名的命令行工具
  2. 如何分析案件的性质_律师如何综合分析一个案件
  3. leetcode算法题--矩阵中的路径
  4. C++各大著名程序库
  5. 解决VMware虚拟机安装的ubuntu显示屏幕小的问题
  6. 一台电脑怎么接两个显示器_电脑数码类目显示器 篇二:11.11抄作业,个人消费级显示器怎么选--20款好价显示器推荐_显示器...
  7. 为什么REST如此重要
  8. 分久必合的Lindorm传奇
  9. Reading and Writing to Binary Files
  10. OpenStack第十四个版本及14项重要事实
  11. kohana框架的入门学习 2.0版本的
  12. 图像处理---《Canny 边缘检测》
  13. 视觉中国网站部分恢复上线? 官方回应:并没有
  14. XP 装 sql 2008 允许远程连接
  15. 2021年中国一次性防护服市场趋势报告、技术动态创新及2027年市场预测
  16. LeetCode 525 连续数组/剑指 Offer II 011. 0 和 1 个数相同的子数组
  17. 0penCV_(Watershed Segmenter)使用 分水岭算法 对图像进行分割
  18. OO第四单元UML作业总结暨OO课程总结
  19. UVa 10192 - Vacation amp; UVa 10066 The Twin Towers ( LCS 最长公共子串)
  20. 在bandwagon上架设web服务器

热门文章

  1. amp;#9733;一名“标题党”自我修炼的10…
  2. JS判断浏览器语言及终端类型(android/ios)
  3. 左右db_block_size了解和实验
  4. rsa 网站openssl加密解密 使用心得
  5. Template Power
  6. 12,mac phpstorm xdebug
  7. 3. AJAX 请求与响应
  8. 4. 正则表达式(4)
  9. JavaWeb将图片显示在浏览器中
  10. 正则爬取猫眼电影排行榜 待修改版