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

  • 相关阅读:
    C++ *this与this的区别(系个人转载,个人再添加相关内容)
    C++ 友元(系转载多人博客,添加个人见解)
    C++模板详解(系转载,但是个人添加了一些内容)
    实验三:klee的执行重现机制(示例分析)
    klee错误汇报二:KLEE的optimize选项的一个困惑
    KLEE错误汇报一:One phenomenon after the execution using klee
    实验一:使用符号执行工具klee对软件进行破解(来自于klee官网)
    个人发现的createProcess调用漏洞
    docker运行时设置redis密码并替换redis默认的dump.rdb
    saltstack入门个人笔记
  • 原文地址:https://www.cnblogs.com/liangwei389/p/1202852.html
Copyright © 2011-2022 走看看