zoukankan      html  css  js  c++  java
  • 转义字符 显示形式 转换成 实际形式 \\n to \n

    类1

    public class EscapeCharacterEntities
    {
        private static object _lookupLocker = new object();
        private static string[] _entitiesList = new string[]
        {
            "\n-n"
            "\r-r",
            "\t-t"
            "\f-f",           
            "\v-v" 
        };
        private static Hashtable _entitiesLoopupTable;
        private EscapeCharacterEntities() { }
        public static char Lookup(string entity)
        {
            if (_entitiesLoopupTable == null)
            {
                lock (_lookupLocker)
                {
                    if (_entitiesLoopupTable == null)
                    {
                        Hashtable curTable = new Hashtable();
                        foreach (string item in _entitiesList)
                        {
                            curTable[item.Substring(2)] = item[0];
                        }
                        _entitiesLoopupTable = curTable;
                    }
                }
            }
            object obj = _entitiesLoopupTable[entity];

            return obj == null ? (char)0 : (char)obj;
        }
    }

    转换方法

    public static string EscapeCharacterFormat(string input)
    {
        StringBuilder builder = new StringBuilder();
        StringWriter writer = new StringWriter(builder);
        int l = input.Length;
        int maxIndex = l - 1;
        for (int i = 0; i < l; i++)
        {
            char ch = input[i];
            if (ch == '\\' && i < maxIndex)
            {
                char ch2 = input[i + 1];
                char curchar = EscapeCharacterEntities.Lookup(ch2.ToString());
                if (curchar != (char)0)
                {
                    writer.Write(curchar);
                    i++;
                    continue;
                }
            }
            writer.Write(ch);
        }
        return builder.ToString();
    }
  • 相关阅读:
    .net系统自学笔记——自定义特性及反射
    .net系统自学笔记——内存管理与指针
    .net系统自学笔记——动态语言扩展(又一个没听过没学过的,空,以后会了再补充吧)
    .net系统自学笔记——Linq
    思维的惰性
    论演员的自我修养2
    职场有影帝出没,屌丝们请当心!
    论演员的自我修养
    道与术
    关注细节但不陷入细节
  • 原文地址:https://www.cnblogs.com/yelaiju/p/2727237.html
Copyright © 2011-2022 走看看