打印特殊字符时,特殊字符要用中括号及引号框起来,如:[“特殊字符”],想打印[这个字符是,则用[“[”]表示。以下是c#的完整代码:
//以下为处理的函数,该函数是处理:
//
//da是要打印的字符串,da内包含的特殊字符装载在te内,就可以正常打印出想要的特殊字符。
/*
函数使用:
List<string> te1 = new List<string>();
tel.add("["); tel.add("]");
string da1="1234[56]8998";//[与]为特殊字符
string rd=zh_1(da1,tel);//rd就是经过转换后的字符经过转换后,打印结果为"1234[56]8998",不经转换打印会报异常。
*/
string zh_1(string da,List<string> te)
{
string rd = "";
string daa = "[abc[123]b8999[]cd";
daa = da;
if (te.Count < 1)
{
return rd;
}
//string rdd = "";
List<string> d1 = new List<string>();
int k1 = 0;
int k2 = 0;
for (int i = 0; i < daa.Length; i++)
{
string tt = daa.Substring(i, 1);
bool bbb = tt.Equals("[") || tt.Equals("]");//特殊字符显示不出来,只要在这里增加逻辑,
//增加或逻辑,该句表示处理特殊字符[及],如要增加其它特殊字符,只要在这里增加或逻辑。
for (int i1=0;i1<te.Count;i1++)
{
if (i1 == 0)
{ bbb = tt.Equals(te[i1]); }
else
{
bbb = bbb || tt.Equals(te[i1]);
}
}
if (bbb)
{
string kkm = daa.Substring(k1, (i - k1));
if (!kkm.Equals(""))
d1.Add(kkm);
//MessageBox.Show(kkm);
if (!tt.Equals(""))
d1.Add(tt);
//MessageBox.Show(tt);
k1 = i + 1;
}
}
if (k1 < daa.Length)
{
string kkm = daa.Substring(k1, (daa.Length - k1));
if (!kkm.Equals(""))
d1.Add(kkm);
//MessageBox.Show(kkm);
}
for (int i = 0; i < d1.Count; i++)
{
string temp = d1[i];
if (temp.Equals("[") || temp.Equals("]"))
{
d1[i] = "[\"" + temp + "\"]";//打印特殊字符时,特殊字符要用中括号及引号框起来["特殊字符"]
}
rd = rd + d1[i];
}
//MessageBox.Show(rd);
return rd;
}
本文介绍了在使用C#编程时,如何使用FastReport处理包含特殊字符如'[', ']'的字符串,避免打印时出现异常。通过提供一段具体的C#代码示例,展示了如何正确地表示和打印这些特殊字符。"
117563002,10538115,Android实现活动间数据返回,"['Android开发', 'Intent', '数据交互']
2949

被折叠的 条评论
为什么被折叠?



