字符串操作以从数组中排序消息

Joh*_*ohn 0 .net c# string

string[] array = new string[] { "12", "3$4", "5$67", "8$945", "$9484$", "$63$" };
foreach(string message in array)
{
    FindString(message);
}

string remainingString = "";
string tempString = "";
string outputString = "";
Run Code Online (Sandbox Code Playgroud)

这就是 FindString

private void FindString(string message)
{
    if(message.Contains("$"))
    {//remove char ^ process
         int pos = -1;
         pos = message.IndexOf('$');
         outputString = message.Substring(0, pos);
         remainingString = message.Substring(pos + 1);
         if(tempString != "")
         {
             outputString = tempString + outputString;
         objList.Add(outputString);
         tempString = "";
         }
         if(remainingString.Length != 0)
         {
             FindString(remainingString);
         //remainingString = "";
         }
    }
    else
    {
        tempString = tempString + message;
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经构建了另一个应用程序发送的消息数组."$"字符显示消息结束.从数组中我必须整理出实际消息的消息.这些我必须找出"123"45","678","945","9484","63"我写了一个代码,但只获得"123","45","675","945"它跳过"9484"和"63"这些都在"$$"里面

Hos*_*Rad 6

无需丢失代码行.试试这个:

string[] array = new string[] { "12", "3$4", "5$67", "8$945", "$9484$", "$63$" };
string total = string.Join(string.Empty, array);
List<string> outputString = 
                   total.Split(
                            new char[] { '$' },
                            StringSplitOptions.RemoveEmptyEntries).ToList();
Run Code Online (Sandbox Code Playgroud)