2010-05-13 56 views
5

我有值的分號分隔的列表,例如:解析分號分隔的列表

strins s = "param1=true;param2=4;param3=2.0f;param4=sometext;"; 

我需要一個功能:

public bool ExtractBool(string parameterName, string @params); 
public int ExtractInt(string parameterName, string @params); 
public float ExtractFloat(string parameterName, string @params); 
public string ExtractString(string parameterName, string @params); 

是否有特殊的功能在.NET中說可以幫我用分號分隔列表嗎?

PS:參數名稱在列表中相同。

+0

您的列表以分號分隔,不能逗號分隔。另外,如果其中一個值需要包含分隔符,會發生什麼情況? – AakashM 2010-05-13 07:23:20

+0

對不起,我英語不好。我會修好它。 – 2010-05-13 07:25:19

+0

將param1總是一個布爾和param2總是一個int等?或者他們都可以是任何類型?另外,你可以在你的字符串中使用';'嗎? – IVlad 2010-05-13 07:29:54

回答

3

作爲一個起點,你需要的是String.Split()方法 - 將你的字符串分割成一個字符串數組。

你可以在網上找到大量的例子。

1

對於字符串你可以更好的使用Split(',');

你可以嘗試一下本作拆分逗號

string s ="param1=true;param2=4;param3=2.0f;param4=sometext;"; 

string[] sArray = s.Split(',') 
+1

我認爲你的意思是:string [] sArray = s.Split(';'); – 2010-05-13 07:24:54

+0

謝謝你是對的..阿德曼 – anishMarokey 2010-05-13 08:42:38

1

這裏是一個更好的方式來做到這一點,避免了一大堆空數組元素:

 string lsToString = "Your String Here"; 
     string[] laChars = { "," }; 
     string[] laTo = lsToString.Split(laChars, StringSplitOptions.RemoveEmptyEntries); 

使得它更容易與您的分割字符串後工作,因爲你不必擔心空元素。

Pete