2016-09-16 72 views
-1

我试图将每行从文本文档中分离出来,然后将它们保存为单独的字符串。这是我的文本文件:将每行保存为文本文档中的字符串

CurrentVersion: 1.0.0.0 
Update information: New GUI, Fixed login system. 

我有2个字符串在我的程序中声明。

string CurrentVersion = String.Empty; 
string UpdateInfo = String.Empty; 

我想要字符串CurrentVersion来保存第一行。所以:

CurrentVersion = CurrentVersion: 1.0.0.0 

而且我希望UpdateInfo来保存第二行。所以:

UpdateInfo = Update information: New GUI, Fixed login system. 

我试过这段代码:

foreach(var myString in TextDocument.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) 
interpret(myString); 

当我打电话

MessageBox.Show(myString); 

我得到2个消息框。第一个消息框显示:

CurrentVersion: 1.0.0.0 

而第二个消息框显示

Update information: New GUI, Fixed login system. 

但我想CURRENTVERSION和updateInfo时等于行。我不知道如何做到这一点。

+2

“_But我希望CurrentVersion和UpdateInfo等于lines._”这是什么意思? –

+0

如何让CurrentVersion等于文本文档的第一行,UpdateInfo等于文档的第二行? –

+0

你必须分配它。在你的'foreach'里面,你需要确定哪一行是哪一行,然后分配它。例如,你可以创建一个计数器,*假设*第一行总是CurrentVersion行,'int counter = 0; foreach(var myString in text){counter ++; if(counter == 1){CurrentVersion = myString; }};或者你可以做模式匹配:'foreach(var myString in text){if(myString.Contains(“CurrentVersion”)){CurrentVersion = myString; }}。 – Quantic

回答

2
string[] lines = TextDocument.Text.Split(new string[] 
    { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); 

string CurrentVersion = lines[0]; 
string UpdateInfo = lines[1]; 
+2

谢谢,正是我需要的。我尝试了类似的方法,但我总是收到“非法字符”错误。但是,这完美地工作。留言Merci。 –

相关问题