2012-04-24 100 views
0

這是一個簡單的新手問題。我可能可以使用一些複雜的字符串像substring和其他方法,但我想知道是否有更好的方法來做到這一點。在C#中獲取子字符串?

說我有在C#中的字符串:

string foo = "°F"; 

什麼是打破分爲兩個不同的字符串在那裏我有「度」和「F」最好的方法?

我明白髮生了什麼事。 stackflow正在解釋HTML。它實際上是(&)deg(分號)F。

對不起人們昨天晚上發佈的時候已經很晚了。

+0

串x = foo.replace( 「F」, 「」); string y = foo.replace(「°」「」); – anonymous 2012-04-24 02:04:57

+1

你有什麼標準來分割一個字符串? (如果'String.Substring(start,length)'太複雜,也很難找到解決方案)。 – 2012-04-24 02:10:59

回答

8

我不知道,如果是「複雜的」,而是:

string degree = foo[0].ToString(); 
string f = foo[1].ToString(); 

我覺得你已經選擇了一個過於簡單的例子,雖然。你真的在處理兩個字符的字符串,還是你想做更有趣的事情?

更新:嗯,我仍然認爲你一定在嘗試在這裏做更難的事情。但這裏的另一種方式:(帽尖:@詹姆斯Didzun)

string f = foo.Replace("°",""); 
string deg = foo.Replace("F", ""); 

或者你可以這樣做:

string deg = foo.Substring(0, 5); 
string f = foo.Substring(5,1); 

或者:

var deg = new string(foo.TakeWhile(c => c != 'F').ToArray()); 
var f = foo.SkipWhile(c => c != 'F').First().ToString(); 

或者:

string[] x = foo.Split(';'); 
string deg = x[0] + ";"; 
string f = x[1]; 

或者:

string deg = "°" 
string f = "F"; 

個人而言,我更喜歡最後一種方法。你爲什麼要拆分一個你知道EXACT內容的字符串?

+0

我更新了我的問題上面。對不起,我發佈後沒有看到我的帖子。 – 2012-04-24 12:26:27

+0

我不知道確切的內容。這只是一個例子。數據來自Weather Bug的XML提要。謝謝,我今晚會試試這個。 – 2012-04-24 19:45:40

1

這樣如何:-)

char[] foo = "°F".ToCharArray(); 

char c1 = foo.First(); 
char c2 = foo.Last(); 
+0

我更新了我上面的問題。 – 2012-04-24 12:25:40