2010-12-21 46 views
3

我的字符串如下所示:aaa/b/cc/dd/ee。我想要切掉第一部分而不是/。我該怎麼做?我有很多字符串,他們沒有相同的長度。我試圖使用Substring(),但是/ /呢?從C中的字符串切割#

我想添加'aaa'到第一個treeNode,'b'到第二個等。我知道如何添加一些東西到treeview,但我不知道如何接收這個部分。

+3

,什麼是所需的輸出? – pdiddy 2010-12-21 15:54:53

+0

你想獲得第一部分或擺脫第一部分?如果是前者,那麼你可以這樣做:「aaa/b/cc/dd/ee」.Split('/')[0] – Andrey 2010-12-21 15:55:41

回答

5

也許Split()方法就是你」重新過後?

string value = "aaa/b/cc/dd/ee"; 

string[] collection = value.Split('/'); 

標識在本例中是由以陣列中指定的一個或多個字符分隔的子串,然後將這些子爲一個字符串數組。

根據您與一個TreeView更新(?ASP.Net的WinForms),你可以這樣做:

foreach(string text in collection) 
{ 
    TreeNode node = new TreeNode(text); 
    myTreeView.Nodes.Add(node); 
} 
給你的榜樣
4

使用SubstringIndexOf找到的第一/

位置要獲得第一部分:

 
// from memory, need to test :) 
string output = String.Substring(inputString, 0, inputString.IndexOf("/")); 

要剛切第一部分:

// from memory, need to test :) 
string output = String.Substring(inputString, 
           inputString.IndexOf("/"),  
           inputString.Length - inputString.IndexOf("/"); 
0

一個辦法這是通過使用string.Split將您的字符串拆分爲一個數組,然後string.Join做出任何你想要的數組的部分成爲一個新的字符串。

例如:

var parts = input.Split('/'); 
var processedInput = string.Join("/", parts.Skip(1)); 

這是一般的方法。如果你只需要做的非常具體的處理,你可以用string.IndexOf更有效,例如:

var processedInput = input.Substring(input.IndexOf('/') + 1); 
1

你可能會想這樣做:

string[] parts = "aaa/b/cc/dd/ee".Split(new char[] { '/' });