2013-04-02 100 views
-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。 「^」表示的字符串信息的端部通過將輸入字符串

+1

什麼是你的問題? – Blachshma

+0

如果您告訴我們您遇到的錯誤,我們可能會提供幫助。 –

+0

你想分割字符串? –

回答

0

嘗試分裂:

var output = string.split('^').ToList(); 
+0

看到我有編輯quetion消息末尾現在ü更好地理解 –

+0

所以你要在不使用分離的字符串數組,字符串合併成一個字符串,然後分解成若干個「^」分隔的部分? – devilfish17

+0

小號................... –

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(); 
+0

看到我有編輯quetion現在ü更好地瞭解 –

+0

搶你看到我的更新quetion –

+0

是啊,你終於提出的問題在那裏,儘管這不是一個問題。我添加了一個答案,也可以回答。只需添加if語句FINDSTRING上剩餘的字符串,如果它不是長度0 .. –