none
請教字串切割問題 RRS feed

  • 問題

  • 各位大大好~

    我目前在做字串拆解的時候遇到一個疑問

    使用Split時候傳入的分隔符號不能為空字元嗎?

    因為我目前有要處理一串字串,每個字元切開,但是中間沒有分隔符號

    我嘗試結果傳入空字元會直接把字串丟到陣列第一個,

    而使用Regex.Split得到的陣列卻是NULL...

    2011年7月15日 上午 02:32

解答

  • string list = "12345";
    foreach (char s in list)
    {
     Console.WriteLine(s);
    }
    


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年7月15日 上午 02:38
  • 或者是透過LINQ去做。

    char[] CharArray = (from p in list
    		select p).ToArray();
    Console.WriteLine(CharArray.Length);
    foreach (char s in CharArray)
    {
    	Console.WriteLine(s);
    }
    


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    • 已標示為解答 rexmax1018 2011年7月15日 上午 02:57
    2011年7月15日 上午 02:44

所有回覆

  • string list = "12345";
    foreach (char s in list)
    {
     Console.WriteLine(s);
    }
    


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年7月15日 上午 02:38
  • 或者是透過LINQ去做。

    char[] CharArray = (from p in list
    		select p).ToArray();
    Console.WriteLine(CharArray.Length);
    foreach (char s in CharArray)
    {
    	Console.WriteLine(s);
    }
    


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    • 已標示為解答 rexmax1018 2011年7月15日 上午 02:57
    2011年7月15日 上午 02:44
  • 各位大大好~

    我目前在做字串拆解的時候遇到一個疑問

    使用Split時候傳入的分隔符號不能為空字元嗎?

    因為我目前有要處理一串字串,每個字元切開,但是中間沒有分隔符號

    我嘗試結果傳入空字元會直接把字串丟到陣列第一個,

    而使用Regex.Split得到的陣列卻是NULL...

    以下我測試的程式碼

    protected void Page_Load(object sender, EventArgs e)
      {
        string input = "1 2 3 4 5";
        string[] stringArray = input.Split(' ');
        for (int i = 0; i < stringArray.Length; i++)
        {
          Response.Write(string.Format("第 {0} 個字為 {1} ", i + 1, stringArray[i]));
        }
      }
    


    我刻意在每個字中間加入一個空白 , 然後再用空白切 , 是可以正確執行的。

    不過 , TerryChuang 前輩的解法是較能符合你所說的情況


    若有錯誤,煩請各位前輩不吝指正 ------------------------- 小小的、菜菜的菜鳥程式人員
    2011年7月15日 上午 02:51
  • 感謝大大們的回覆
    2011年7月15日 上午 02:57