我在函数的顶部有这个:
string n = "";
string test = "T256=" + n;
但是测试只是“T256 =”
如果在字符串 n 我正在做 n = "\"";
那么 test 是 "T256=\" 但 \ 是否意味着引号?
如果我有,我怎么能取出一个空字符串:
T256="Hello" 所以我只能取出 Hello 但如果我有 T256="" 是什么意思?由于我的程序正在跳过一个空字符串“”
但我需要使用它。
例如在我的文件中是这样的:
T256="hello"
T256=""
T256=""
T256="hi"
那么我如何记住这两个 T256="" ?如果我不这样做,它会将下一个单词放在第一个空的 T256="" 中,它会像:
T256="hello"
T256="hi"
它不是它应该的方式。它应该是这种格式,这是好的格式:
T256="hello"
T256=""
T256=""
T256=hello"
所以这是我的代码,我在其中取出了文本,但由于某种原因,它没有取出两个标签之间没有文本的地方。
字符串 startTag = "T256=\""; 字符串 endTag = "\"";
如果这两个标签之间有文本,它将把它取出,但如果这个标签之间没有文本,它将跳到标签之间有文本的下一行。
我需要用 T256="" 取任何一行,即使它在 "" 之间是空的
所以在文本文件中我会看到一个空格或“”,例如文本文件应该如下所示:
Hello
""
Hi
""
""
Hello
或者,如果不是“”,则为空,当我放回文本时,它也应该放回空格或空字符串。
这是我取出文本的代码:
private void parseText(string originalFile, BackgroundWorker worker)
{
FormText("Parsing Text");
int lineNumber = 0;
string startTag = "T256=\"";
string endTag = "\"";
int index = 0;
int startTagWidth = startTag.Length;
int endTagWidth = endTag.Length;
int fileLength = originalFile.Length;
w = new StreamWriter(@"d:\testingdeponias.txt");
while (true)
{
if (index > originalFile.LastIndexOf(startTag))
{
break;
}
int startTagIndex = originalFile.IndexOf(startTag, index);
int stringIndex = startTagIndex + startTagWidth;
index = stringIndex;
int endTagIndex = originalFile.IndexOf(endTag, index);
int stringLength = endTagIndex - stringIndex;
if (stringLength == 0)
{
}
else
{
//worker.ReportProgress(20);
string test = originalFile.Substring(stringIndex, stringLength);
if (test == "")
{
MessageBox.Show(test);
}
但是测试永远不是“”我在那里使用断点并且它永远不会到达 MessageBox