c#编程_fastreport处理特殊字符[]、特殊字符报异常问题完美解决

本文介绍了在使用C#编程时,如何使用FastReport处理包含特殊字符如'[', ']'的字符串,避免打印时出现异常。通过提供一段具体的C#代码示例,展示了如何正确地表示和打印这些特殊字符。" 117563002,10538115,Android实现活动间数据返回,"['Android开发', 'Intent', '数据交互']
部署运行你感兴趣的模型镜像

打印特殊字符时,特殊字符要用中括号及引号框起来,如:[“特殊字符”],想打印[这个字符是,则用[“[”]表示。以下是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;

    }

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小信

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值