我有一個文件txt文件,它包含3個值,每個值由一個空格分隔,我如何將每個值賦給它自己的變量並將其用於其他事情?拆分字符串,VB.net?
爲例號碼可能會顯示在文本文件中:
-1100.02 -1958.19 0.0
我有一個文件txt文件,它包含3個值,每個值由一個空格分隔,我如何將每個值賦給它自己的變量並將其用於其他事情?拆分字符串,VB.net?
爲例號碼可能會顯示在文本文件中:
-1100.02 -1958.19 0.0
試試這個:
Dim line as String = "-1100.02 -1958.19 0.0"
Dim values() as Double = Array.ConvertAll(line.Split(New Char() { " "c }, StringSplitOptions.RemoveEmotyEntries), AddressOf Convert.ToDouble)
這將導致values
充滿從輸入字符串(假設每行一組有效的號碼)的數字。
dim strSplitted() as string = Line.split(" "c)
' strSplitted(0), strSplitted(1) and strSplitted(2) will hold the values.
行是文件中的行ofcourse :-)
更新:代碼根據評論更新。
在C#:
string s = File.ReadAllText(filename);
string[] nums = s.Split(' ');
所以,你可以訪問NUMS [指數],其中指數應注意,您必須檢查,如果一切正常介於0和2
...
如果你需要,你也可以嘗試:
foreach (string num in nums)
{
double d = double.Parse(num);
// Here you can do what you want with d
}
翻譯Marco的C#代碼到VB:
Dim s As String = File.ReadAllText(filename)
Dim nums As String() = s.Split(" "c)
要獲得數字,你需要單獨解析字符串。您可以使用LINQ來做到這一點:
Dim numbers As Double() = From num In nums Select Double.Parse(num)
使用你的第二部分他應該包含LINQ,對吧?我不確定,但我認爲是。 – Marco 2011-04-27 11:28:07
@Marco除非已明確禁用Linq,否則第二部分將在當前VB.NET中默認使用。 – 2011-04-27 11:32:23
無需將聲明與初始化分開。事實上,這是非常灰心的。另外,不要使用'CChar(「」)',VB提供了一個簡潔的方法來實現這一點:只寫''「c'。 – 2011-04-27 11:23:32
啊,不知道(儘管我對cchar不是很滿意......)謝謝,+1 – Rhapsody 2011-04-27 11:37:33
沒關係,但更重要的是,我如何分配每個變量 – Meldrum 2011-04-27 11:53:52