0
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 = "";

而这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;
    }
}

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

4

1 回答 1

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();
于 2013-04-02T09:32:56.077 回答