• 将多行文本以单行的格式保存起来 读和写 ini


    fef

    https://files.cnblogs.com/files/xe2011/WinAppINI20191226232153.rar


    /* 2019年12月26日 22:31:38
      * [info]
      *  group = a,b,c,d
      *
      *   需求 修改ini配置信息的group值
      *  
      *   1添加:
      *      往group中添加一个值
      *   2移除:
      *      从group中的值移除一个值
      *   3重命名:
      *      查找,找到修改
      *  
      *    1 读取group的值,把它转换成一个字符串数组,
      *      移除所有空行,把数组重新添加到一个列表中,行为空则不添加
      *     添加: 将要添加的值添加到列表中
      *       将列表转换成一行的字符串,行与行之间用 都好隔开
      *      
      *      
      *    2  读取group的值,把它转换成一个字符串数组,
      *       移除所有空行,把数组重新添加到一个列表中,行为空则不添加 
      *     删除:  判断列表中是否有 要删除的值,有就删除掉,没有不操作
      *       将列表转换成一行的字符串,行与行之间用 都好隔开
      *   
      *
      */

            //读行的文本 到 列表
            /// <summary>
            /// aaa,dfd,hhh,,ff,hello ->转换成  列表   同时删除空行
            /// </summary>
            /// <param name="text"> aaa,dfd,hhh,,ff,hello</param>
            /// <returns></returns>
            public static List<string> ReadString(string text) {
                List<string> lst = new List<string>();
                //读行的文本 到 列表
                string[] arr = text.Split(',');
                if (arr.Length > 0)
                {
                    lst.Clear();
                    for (int i = 0 ; i < arr.Length ; i++)
                    {
                        string s = arr[i].Trim();
                        if (s.Length > 0)     //不添加空行 //移除所有的空的行
                            lst.Add(s);
                    }
                }
                else
                {
                    lst.Add(text);
                }
                return lst;
            }
    
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="resString"> aaa,dfd,hhh,,ff,hello 源字符串</param>
            /// <param name="addString">要添加的字符串</param>
            public static string AddString(string resString,string addString) {
                //读行的文本 到 列表
                //[添加]
                //保存
                List<string> list = ReadString(resString);
                string findString = addString.Trim();
                if (list.IndexOf(findString) ==-1)
                {
                    list.Add(findString);
                }
    
                //转换成一行文本
                resString = string.Join(",", list.ToArray());
                if (resString.EndsWith(","))
                    resString = resString.Substring(0, resString.Length - 1);
                return resString;
            }
    
            public static string RemoveString(string resString, string findString) {
                //读行的文本 到 列表
                //[删除]
                //保存
    
                if (resString.Contains(","))
                {
                    findString = findString.Trim();
                    List<string> list = ReadString(resString);
                    if (list.IndexOf(findString) != -1)//存在
                    {
                        list.Remove(findString);
                    }
                    //转换成一行文本
                    resString = string.Join(",", list.ToArray());
                    if (resString.EndsWith(","))
                        resString = resString.Substring(0, resString.Length - 1);
                    return resString;
                }
                else
                {
                    return resString.Replace(findString, "");
                }
            }
    
    
            public static string RenameString(string resString, string findString,string newName) {
                //读行的文本 到 列表
                //[删除]
                //重命名
                if (resString.Contains(","))
                {
                    findString = findString.Trim();
                    List<string> list = ReadString(resString);
                    int index = list.IndexOf(findString);
                    if (index != -1)//存在
                    {
                        if (list.IndexOf(newName) == -1)    //重命名后,不和已有的成员不能重名
                        {
                            list[index] = newName;
                        }
                    }
                    //转换成一行文本
                    resString = string.Join(",", list.ToArray());
                    if (resString.EndsWith(","))
                        resString = resString.Substring(0, resString.Length - 1);
                    return resString;
                }
                else
                {
                    return resString.Replace(findString, newName);
                }
            }
    
            private void button删除_Click(object sender, EventArgs e) {
                textBox1.Text = RemoveString(textBox1.Text, textBox2.Text);
            }
    
            private void button添加_Click(object sender, EventArgs e) {
                textBox1.Text = AddString(textBox1.Text, textBox2.Text);
            }
    
            private void button重命名_Click(object sender, EventArgs e) {
                textBox1.Text = RenameString(textBox1.Text, textBox2.Text,textBox3.Text);
            }
  • 相关阅读:
    学会企业分析
    股票暴跌,收益会更高
    富人?中产?
    学会看财务报表
    财务自由三大核心工具
    理财工具分类
    webpack构建速度和体积极限优化
    将搜索时间设置为23:59:59
    省市区县街道四级联动下拉菜单
    用原生JS实现多张图片上传及预览功能(兼容IE8)
  • 原文地址:https://www.cnblogs.com/xe2011/p/12105093.html
Copyright © 2020-2023  润新知