none
string.split 語法的問題 RRS feed

  • 問題

  • 請問

    我以前VB的程式 用split(xxx,Chr(9))    split(xxx,Chr(34))

    現在在C#裡面 我一直無法順利的切出想要的Array

    我看到的Data 在Degbug模式下 看到的變數值變成

    "\"XXXX\"\t\"AAAAA\"\t\"BBBBBBB\"

    我用 string [] Arr= xxx.Split('\t')

    切出來變成 "\"xxxx\""        "\"AAAA\""   ...

    我要如何可以再把那個斜線給用掉 用replace可以嗎

    2006年12月13日 上午 05:30

解答

  • Hi~您好

    可以再使用一次Replace 將兩個雙引號""取代為空白 或者其他符號  如下:

    Array.Replace(@"""","*")   ====>  *TIME* 

    再來判斷

    if (Array.Compare("*TIME*") ==0  )    

    這樣不知道能不能解決你的問題 ︿︿  請參考一下 

    2006年12月13日 上午 06:32
  • string x = "a,b,c";
    string[] list = x.Split(','); 或者 x.Split((char)數字); 就可以切了

    string x = "a@b/c";
    string[] list = x.Split( new char[] {'@', '/' } ); 或者 x.Split( new char[] { (char)數字, (char)數字 } );

    都可以切割

    2006年12月13日 下午 02:33

所有回覆

  • Hi~您好

    你切字串的方法應該沒有錯,此外的確可以使用replace將斜線取代為空白喔

    VB的CODE為

    str.Replace("\", "")  C#應該也差不多吧

    以上供您參考  ︿︿

    2006年12月13日 上午 05:57
  • 我想再請問一下

    我用str.Split(xxx,'\t') 

    得到的Array

    每一個 AyyayIdea 的值就像   "\"TIME\""   

    我用  ArrayIdea.Replace(@"\","")   ====>  "TIME" 

    可是這樣還有雙引號存在

    因為我的程式必須

    if (ArrayIdea.Compare("TIME") ==0  )    

    可是他其實裡面還有多兩個雙引號 所以這個條件都不會成立

    我也不能 if(ArrayIdea.Compare(""TIME"") ==0 )  這樣是錯誤的語法

    我現在是沒辦法找出解決方法

     

    2006年12月13日 上午 06:10
  • Hi~您好

    可以再使用一次Replace 將兩個雙引號""取代為空白 或者其他符號  如下:

    Array.Replace(@"""","*")   ====>  *TIME* 

    再來判斷

    if (Array.Compare("*TIME*") ==0  )    

    這樣不知道能不能解決你的問題 ︿︿  請參考一下 

    2006年12月13日 上午 06:32
  • 感謝你 可以了

    我只是不知道 replace(@"""","") 還要加一個@

    感恩阿~~~~

    2006年12月13日 上午 06:42
  • 因為 .Net String 類別的 Split 方法與 VB Split 函數不同。

    VB Split 函數其中一個多型類別允許字串。

    String.Split 單一參數只允許字元 (Char) ,你給的是字串。

    解決方法可參考 String.Split 的多型參數中 (String, 旗標) 那個,或參考下面網址。

    針對這個容易令 VB 設計師搞混的東西,我曾經建議在 String.Split 裡面加入一個多型方法,允許參數直接用 String ,就像是 VB 一樣:

    https://connect.microsoft.com/feedback/viewfeedback.aspx?FeedbackID=177909&wa=wsignin1.0&siteid=210

    不過部分網友認為不重要,評分給很低(兩個給 1 分),如果你覺得重要,請到上面網址給個 5 分或是你覺得適合的分數。

    2006年12月13日 上午 08:04
  • string x = "a,b,c";
    string[] list = x.Split(','); 或者 x.Split((char)數字); 就可以切了

    string x = "a@b/c";
    string[] list = x.Split( new char[] {'@', '/' } ); 或者 x.Split( new char[] { (char)數字, (char)數字 } );

    都可以切割

    2006年12月13日 下午 02:33