猿问

尝试从C#中的字符串制作子字符串

我有一个字符串,aaaaabbbbbccccc我有一个具有某些规则的字典


Dictionary<string, string> rules = new Dictionary<string, string>();

rules.Add("abc", "aab");

rules.Add("ac", "ba");

rules.Add("cb", "cc");

这意味着如果有字符串abc将被替换,aab但是字符串没有任何匹配的规则。因此,我将根据这些规则从旧字符串中创建一个新字符串。例如,如果我将旧字符串重新排列为,abcabcabcabcabc则可以应用规则。但是我被困在重新安排。我尝试使用IndexOf和Remove函数,但没有得到正输出。这是我的代码


string s;

s = "aaaaabbbbbccccc";

string newString = "";

int ia, ib, ic;

//Formulating rule 1

if (s.Contains("a") && s.Contains("b") && s.Contains("c"))

{

    ia = s.IndexOf("a");

    ib = s.IndexOf("b");

    ic = s.IndexOf("c");


    if (ia < ib && ib < ic)

    {

        newString += "abc";

        s.Remove(ia, 1);

        s.Remove(ib, 1);

        s.Remove(ic, 1);

    }

}

Console.WriteLine("New String " + newString);

Console.WriteLine("Old String " + s);

我正进入(状态


New String abc

Old String aaaaabbbbbccccc  //Which is wrong.

谁能帮助我做错事情,还是有更好的办法?


墨色风雨
浏览 114回答 2
2回答
随时随地看视频慕课网APP
我要回答