例如我有这个:
“是吗?Wo war ich?Ach ja。< pa>”>
我需要创建一个仅包含:
的新文本文件了?禾战ich? Ach ja。
我有一个像43mb这样的大文件,我需要扫描整个文件,只获取以"
开头并以<pa>"
结尾的地方,并获取此标签之间的字符串。
到目前为止我做了这段代码:
private void retrivingTestText()
{
w = new StreamWriter(retrivedTextFile);
string startTag = "\"";
string endTag = "<pa>";
int startTagWidth = startTag.Length;
int endTagWidth = endTag.Length;
string text = "\"Was? Wo war ich? Ach ja.<pa>\">";
int begin = text.IndexOf(startTag);
int end = text.IndexOf(endTag, begin + 1);
string result = text.Substring(begin+1, end-1);
w.WriteLine(result);
w.Close();
}
但是现在我需要在一个43mb xml的大文件上创建它。 所以在构造函数中我已经做过StreamReader r; 和字符串f; 然后我做了:
r = new StreamReader(@"D:\New folder (22)\000004aa.xml")
f = r.ReadToEnd();
现在我需要将它与上面的代码一起使用来提取startTag和endTag之间的大文件中的所有字符串,而不仅仅是特定的文本。
我需要制作另一个函数,所以在我做出更改后,它会知道将所有extractes文本字符串添加回startTag和endTag之间的正确位置
感谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以采用以下方法来提取数据。
string word = "\"Was? Wo war ich? Ach ja<pa>\"Jain\"Romil<pa>\"";
string[] stringSeparators = new string[] { "<pa>\"" };
string ans=String.Empty;
string[] text = word.Split(stringSeparators, StringSplitOptions.None);
foreach (string s in text)
{
if (s.IndexOf("\"") >= 0)
{
ans += s.Substring(s.IndexOf("\"")+1);
}
}
return ans;