我在功能的顶部有这个:
string n = "";
string test = "T256=" + n;
但是测试只是“T256 =”
如果在字符串中我正在做n =“\”“;
然后测试是“T256 = \”但是\表示引用?
如果我有以下内容,我怎么能拿出一个空字符串:
T256 =“你好”所以我只能取出你好,但如果我有T256 =“”是什么意思?因为我的程序跳过一个空字符串“”
但我需要使用它。
例如在我的文件中,它是这样的:
T256="hello"
T256=""
T256=""
T256="hi"
那么我如何记住两个T256 =“”?如果我不会将下一个单词放在第一个空的T256 =“”中,它将会像:
T256="hello"
T256="hi"
它不是应该的样子。它应采用这种格式,这是一种很好的格式:
T256="hello"
T256=""
T256=""
T256=hello"
所以这是我的代码,即我取出文本,但由于某种原因,它会取出两个标签之间没有文字的地方。
string startTag =“T256 = \”“; string 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
答案 0 :(得分:2)
"\""
表示\"
。
在.NET [C#]中,我们不能简单地编写"
,因为这个特殊的Char
在语言中有一些特殊的功能。
所以我们必须编写Char "
的转义序列。
转义序列以\
开头,后跟实际的Char。
例如: \
的转义序列为\\
。
因此,在您的情况下,"
将被写为\"
并对其进行字符串化,\"
变为"\""
代码:
string n = "\"\"";
string test = "T256=" + n; // same as string test = "T256=\"\""
答案 1 :(得分:1)
非常简单。
只需测试
string needle =“256TT = \”\“”;
等于256TT =“”
每当程序找到它时,只需打印出你的消息框或你想做的任何事情:在文本文件中放置一个空格或者放置两个引号,如下所示\“\”
那就是那个。