-4

C#代码...

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

                    }
 string remainingString = "";
        string tempString = "";
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);
                if(tempString != "")
                {
                    outputString = tempString + outputString;
                    tempString = "";
                }
            }
            else
            {
                tempString = tempString + message;
            }

        }

我必须从数组中获取消息 12345,678,945,63,9484。“^” 显示字符串中消息的结尾

4

2 回答 2

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

                }
 string remainingString = "";
 string tempString = "";
 private void FindString(string message)
    {

        while(message.Contains("^"))
        {//remove char ^ process
            int pos = -1;
            pos = message.IndexOf('^');
            outputString = message.Substring(0, pos);
            message = message.Substring(pos + 1); // <--- LOOK HERE
            if(tempString != "")
            {
                outputString = tempString + outputString;
                tempString = "";
            }

        }

        tempString = tempString + message;


    }

当然,更好的选择是string.Join数组,然后.Split是结果:

string[] answers = string.Join("", messages).Split("^").ToArray();
于 2013-04-02T06:46:18.933 回答
0

尝试按输入字符串拆分:

var output = string.split('^').ToList();
于 2013-04-02T06:42:45.110 回答