C#使用String.Format()方法时,出现异常"输入的字符串格式有误"的解决方法
来源:互联网 发布:淘宝质量问题退货认定 编辑:程序博客网 时间:2024/05/22 01:29
转载自:string.Format出现异常"输入的字符串格式有误"的解决方法
项目调试时始终报错“输入的字符串格式有误”,苦苦寻找原因,终于定位到String.Format()方法,原来是在要用到转义字符时,没有进行转义。修改后能正确运行的代码如下:
#region innerHTML GoogleMap
string innerHTML = " <style type=\"text/css\">html{{height:100%}} " + " body{{height:100%;margin:0px;padding:0px}} " + " #container{{height:100%}} " + " </style><script type=\"text/javascript\" src=\"http://maps.google.com/maps/api/js?sensor=false\"> " + " </script><body> " + " <div id=\"container\"></div> " + " <script type=\"text/javascript\"> " + " " + " var myLatlng = new google.maps.LatLng({0},{1}); " + " var myOptions = {{zoom: 12, " + " center: myLatlng, " + " mapTypeId: google.maps.MapTypeId.ROADMAP " + " }}; " + " var map = new google.maps.Map(document.getElementById(\"container\"), myOptions); " + " var marker = new google.maps.Marker({{position: myLatlng,map: map,title:\"{2}\"}}); " + " </script>"; #endregion string innerText = String.Format(innerHTML, Jd, Wd, Title); Frm51ditu.obj_frm51ditu.WebBrowserOf51ditu.DocumentText = innerText;
一、转义字符
C# 中使用类似 {0}, {1:yyyy-MM-dd} 这样的格式占位符,如果被格式化字符串本身包含 { 或者 } 怎么办呢?
答案:用两个 { 或者 }连写表示单个。
string str1 = String.Format("{{Hello}}, {0}, Now is {{{1:yyyy-MM-dd HH:mm:ss}}}", "Jinglecat", DateTime.Now); // {Hello}, Jinglecat, Now is {2007-07-18 23:06:35}
string str2 = String.Format("{Hello}, {0}, Now is {{1:yyyy-MM-dd HH:mm:ss}}", "Jinglecat", DateTime.Now); // System.FormatException: 输入字符串的格式不正确。
事实上,很多情况下带特殊含义的字符都是这样转义的:如C# 中,当字符串常量带 @ 前导的时候,用两个 " 连写表示一个 " (半角双引号)
string str3 = @"My UserName is ""Jinglecat""."; // My UserName is "Jinglecat".//string str4 = @"My UserName's "Jinglecat""; // error CS1002: 应输入 ;//string str5 = @"My UserName's \"Jinglecat\""; // error CS1002: 应输入 ;
SQL 字符串常量,用两个 ' 连写表示一个 ' (半角单引号)
DECLARE @str6 varchar(100)SET @str6 = 'My UserName is ''Jinglecat''.' PRINT @str6 -- My UserName is 'Jinglecat'.
正则表达式中用,两个 $ 连写表示一个 $ (dollar)
二、String Formatting in C#
略
- C#使用String.Format()方法时,出现异常"输入的字符串格式有误"的解决方法
- string.Format出现异常"输入的字符串格式有误"的解决方法
- string.Format 输入的字符串格式有误的解决方法 中括号的处理办法
- string.Format 异常 输入字符串的格式不正确
- String的format方法格式字符串中包含%
- 格式字符串的用法string.Format
- C# String.Format 的使用
- C#中string.format的格式介绍
- C#中的String.Format的格式
- JAVA字符串格式化-String.format()的使用 及 Android 中 string.xml 中 字符串格式转化
- c# 的复合格式字符串(Format)
- String.Format()方法的使用
- String.format()方法的使用
- java字符串格式化:String.format()方法的使用大全
- java 字符串格式化方法 String.format()的使用
- java字符串格式化方法----String.format()的使用
- java字符串格式化:String.format()方法的使用
- JAVA字符串格式化:String.format()方法的使用
- C++和Objective-C混编(官方文档翻译)
- 飞信2011正式版 秋香
- 好用的PHP验证码类,强烈推荐
- 备份脚本(svn、oracle、配置文件)
- 讼卦,帮助你处理好和上级的关系
- C#使用String.Format()方法时,出现异常"输入的字符串格式有误"的解决方法
- C++打开文件的方式
- 使用matlab引擎的应用程序正常运行
- 深入理解子类继承父类中的成员变量问题
- Android 蓝牙编程学习一基本操作
- QString QDateTime::toString ( const QString & format ) const
- UltraEdit使用技巧
- Java nio 学习笔记(一) Buffer(缓冲区)与Channel(通道)的相关知识
- 默认构造函数的访问权限