一个很长的字符串,里面有标签{0},{1}……{9}
我用string.Format() 格式的时候 竟然报错,{0}难道还有长度限制吗?
没办法,只能用replace,顺利通过……
请高手指点迷津
请把代码或者错误信息贴出来
{0},{1},{2}...等对应Format后面参数的个数的.同时0,1,表示参数出现的位置.
Code
String a = "abcdefg{0}{1}{2}{3}";
a = String.Format(a, "h", "I", "J", "K");
Console.Write(a);
如上:你中间的标签不能间断的。
输出的结果应该是你需要的。
为什么不说是什么错?
可能是HtmlText有大括号.Format里面的非占位大括号要转义。
这表示一个大括号:"{{}}"
String a = "abcdefg,{0}{0}{0}{1}{2}{3}";
a = String.Format(a, "h", "I", "J", "K");
Console.Write(a); //输出:abcdefg,hhhIJK
是可以这样用的
另外,不知道你的HtmlText 到底是什么内容,也没法给你说。
还有,你把HtmlText处理放在while里面,不是只能得到最后一个结果么?
我猜测是对于{0},{1},...,{N}这样的格式串,提供了多于N+1个参数造成的。比如:
string.Format("{0}{1}{2}", 1, 2, 3, 4);
好好数一下{}占位符的数量,和参数的数量吧。
我猜测是对于{0},{1},...,{N}这样的格式串,提供了多于N+1个参数造成的。比如:
string.Format("{0}{1}{2}", 1, 2, 3, 4);
好好数一下{}占位符的数量,和参数的数量吧。
碰的怪事多了,就见怪不怪,
发现99%都是自己的问题导致的,呵呵。