我有一个文件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