2009-10-07 39 views
2

好吧,所以生病在這裏追逐。並且要清楚,我會盡可能尋找代碼示例。字符串[]管理

所以,我有一個正常的字符串,可以說,

string mystring = "this is my string i want to use"; 

好了,現在我有我的字符串,我在空間

string[] splitArray = mystring.Split(new char[] { ' ' }); 

確定分割它,所以現在我有splitArray [0]到splitArray [7]。 現在,我需要用我通常不需要做的字符串做一些奇特的事情。 這裏有幾個:

我需要切斷的第一個字,所以我離開了與其他7個字,讓我有這樣的:現在

string myfirstword = "this"; 
mystring = "is my string i want to use"; 

,我將需要使用mystring一遍又一遍,在不同的時間使用它的不同部分,並根據字符串我不知道多久,它會。所以我會舉一些生病需要的例子。

第一,生病需要知道,有多少話是有(這是很簡單,只是把它扔在) 第二,生病需要使用類似事情的一些方法,

string secondword = splitArray[1]; 
string everythingAfterTheSecondWord = splitArray[2+]; 

你注意到沒有,我包括一個[2+] ...這個+表示我希望數組中的所有字符串放在一起,所有空格都放入一個字符串中。因此,例如,

string examplestring = "this is my example for my stack overflow question"; 
string[] splitArray2 = examplestring.Split(new char[] { ' ' }); 

現在,如果我呼籲splitArray2 [4+]我想「爲我的堆棧溢出的問題」一回。現在顯然它不像加入一個字符串數組那麼簡單..但多數民衆贊成我所需要的,並在目前的情況下,我已經嘗試了許多其他簡單的方法,只是不工作。

另外,如果我打電話給splitArray2 [2-5],我想要的話,顯然是2到5。

摘要: 我需要對我的字符串[]數組進行更好的管理,並且我需要能夠查找每個單詞之後的單詞*,需要能夠去除字符串中的隨機單詞,字符串完好無損,需要能夠找到字符串m通過n

謝謝!

+3

這是一門功課的問題嗎?如果是這樣,那麼你會得到更多的幫助,誠實。如果不是,那麼我會建議使用字符串的MSDN文檔,因爲它將覆蓋您在此處提出的幾乎所有問題。 – Josh 2009-10-07 04:05:39

+0

我會建議MSDN文檔的方式。 – 2009-10-07 04:21:56

回答

4

大多數您正在尋找的東西都可以通過List<string>來實現。簡述:

string mystring = "this is my string i want to use"; 

List<string> splitArray = new List<string>(mystring.Split(new char[] { ' ' })); 
string firstWord = splitArray[0]; 

// mystring2 = "is my string i want to use" 
splitArray.RemoveAt(0); 
string mystring2 = String.Join(" ", splitArray.ToArray()); 

要做到你splitArray[2+]描述更復雜的事情,需要LINQ雖然,因此.NET 3.5。

List<string> everythingAfterTheSecondWord = splitArray.Skip(2).ToList(); 

對於splitArray[2-5]

List<string> arraySlice = splitArray.Skip(2).Take(3).ToList(); 
+0

好的,所以我第一次看到.ToArray()在最後一行的末尾,但現在它的.ToList,我會瘋了......還是哪個更好? – caesay 2009-10-07 04:36:57

+0

'ToArray()'返回一個數組,'ToList()'返回一個'List '。不,你不會發瘋,我改變了它。儘管引用了一個非常聰明的人,但是(不,現在不記得是誰了),*「我從來沒有遇到過一個問題,即數組的解決比集合更好。」*我同意。但這是您使用的個人選擇。 – 2009-10-07 04:50:50

0

好了,做了 「每一個字開始的字X」 你可以這樣做:

string newString = string.join(splitArray," ",x); 

爲了取得$ Y字起點爲x,這樣做:

string newString = string.join(splitArray," ",x,y); 

要獲得字數:

int wordCount= splitArray.Length; 

全部放在一起,也就是說XY是這樣的:

string newString = string.join(splitArray," ",x, splitArray.Length-x+1);