字符串变量中转义符的替换方法

1、通常直接写的字符串中有转义符是前面加【@】就能解决:

    如:string str = @"请确认数据有误!\r\n中断程序运行。";

          这时实际存入str中的内容是"请确认数据有误!\\r\\n中断程序运行。"

2、如果字符串变量中的内容中有直接携带了转义符给怎么替换?

    如:假设str中已经存有"请确认数据有误!\r\n中断程序运行。"的内容。

          这时实际存入str中的内容中的\r和\n是已转义后的内容,不是"\r"或"\n"这个字符。

          所以想把\r或\nz换成\\r或\\n就要去寻找转义后的那个值,但转义后的那个值往往是不可显示的字符。

3、先来了解转义后的字符在C#中的表述方法。

    ASCII码肯定能表示这种转义后的不可显示的字符,这些ASCII码在C#中的如下表述的:

                       Char   Hex   Oct    Dec     C#中表述方式

      如:回车符    CR     0D    015    13         x0d

            换行符    LF     0A    012    10          x0a

            退格键    BS    08    010      8          x08

            ESC键    ESC  1B    033    27          x1b

4、现在来把str中的\r和\n替换成\r和\\n:

    转义后的\r是: \x0d                    转义后的\n是: \x0a

    string strTemp = str.Replace("\x0a", "\\n").Replace("\x0d", "\\r");

    结果strTemp中的内容是"请确认数据有误!\\r\\n中断程序运行。"

 

    

posted @ 2015-12-25 19:42  97黄三  阅读(2331)  评论(0编辑  收藏  举报