zoukankan      html  css  js  c++  java
  • 字符串处理方法[转帖]

    两个字符串,每个字符串都是由名称字符串=值字符串形式组成,中间间隔为一个分号加空格

    字符串a:
    名称1=任意字符串1; 名称2=任意字符串2; ...; 名称n=任意字符串n
    字符串b
    名称5=任意字符串5; 名称1=任意字符串6;...; 名称m=任意字符串m

    现在要处理字符串a,使之变成:
    名称1=任意字符串6; 名称2=任意字符串2; 名称n=任意字符串n; 名称5=任意字符串5; 名称m=任意字符串m

    也就是如果字符串a中的一个名称在字符串b中也有,则其值由字符串b中名称对应的值取代。如果字符串b中的名称在a中不存在,则在a中添加名称及值。当然也要用分号加一个空格间格。

    例如
    string a="wang=asdf; li=yuio; zhao=qwewteqyrqyreqq; qian=dsahjdglsdagdjsalg";
    string b="zhou=dsagdsagsdahag; wang=xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz; qian=ghjk; wu=saghdsaklg";
    则经过处理应该a="wang=xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz; li=yuio; zhao=qwewteqyrqyreqq; qian=ghjk; zhou=dsagdsagsdahag; wu=saghdsaklg"

    求一个讲究效率的转换方法

      using System.Collections.Specialized; //StringDictionary -> 键值集合, Key 不区分大小写..

     

              string a = "wang=asdf; li=yuio; zhao=qwewteqyrqyreqq; qian=dsahjdglsdagdjsalg";

                string b = "zhou=dsagdsagsdahag; wang=xxxxxxxxxxyyyyyyyyyyzzzzzzzzzz; qian=ghjk; wu=saghdsaklg";

                string[] aArray = a.Split(new char[] { '=', ';' }, StringSplitOptions.None);

                string[] bArray = b.Split(new char[] { '=', ';' }, StringSplitOptions.None);

                StringDictionary dic = new StringDictionary();

                for (int i = 0; i < aArray.Length-1; i+=2)

                {

                    dic[aArray[i]] = aArray[i + 1];

                }

                for (int i = 0; i < bArray.Length - 1; i += 2)

                {

                    dic[bArray[i]] = bArray[i + 1];

                }

                StringBuilder sb = new StringBuilder();

                foreach (string key in dic.Keys)

                {

                    sb.Append(key +"=" +dic[key] +";");

                }

                Console.WriteLine(sb.ToString());

     

     

    转自:http://topic.csdn.net/u/20080328/17/0661d120-ac0a-419b-95c5-1a25b3a9abe4.html

  • 相关阅读:
    structs2---OGNL表达式
    六种获取配置properties文件的方法
    java poi导出Excel 总结
    Linux中发布项目的一些命令笔记
    JavaScript 闭包
    常见数据库连接方式
    Docker(五):镜像
    Docker(四):docker的安装
    Ubuntu命令
    Docker(三):Docker的基本概念
  • 原文地址:https://www.cnblogs.com/liangwei389/p/1202852.html
Copyright © 2011-2022 走看看