我试图弄清楚如何从文本文件中提取文本,如果它与第二个文本文件具有相同的模式,并将提取的值放入另一个文本文件中。我以前从未做过这样的事情,所以我什至不知道从哪里开始。
例如,在文件1中,我们可能会有类似的内容:
else
{
if (func_133212(13))
{
if (unk_0x44334545("test"))
{
if (!0x22224334545("test"))
{
0x44444237945("test", true);
}
}
if (Global_2398334.f_502.f_11 >= 2)
{
if (unk_0x44334545("test2"))
{
if (!0x22224334545("test2"))
{
0x44444237945("test2", true);
}
}
}
}
然后在文件2中,我们有类似的内容:
else
{
if (func_12312(13))
{
if (unk_0x433877545("test"))
{
if (!unk_0x3434344("test"))
{
unk_0x42224442111("test", true);
}
}
if (Global_23445454.f_502.f_11 >= 2)
{
if (unk_0x433877545("test2"))
{
if (!unk_0x3434344("test2"))
{
unk_0x42224442111("test2", true);
}
}
}
}
程序将识别出它们具有相同的模式,并将unk_提取到列表中,左侧文件1中的unk_和右侧文件2中的unk_像这样:
unk_0x44334545,unk_0x433877545
等等
我知道这非常复杂,因此我们非常感谢您的帮助,如果您需要更多信息或类似信息,请告诉我。只是试图了解如何执行此操作。
谢谢:)
您如何定义“相同模式”。例如,空格重要吗?您想针对任何一种语言还是仅针对一种语言进行此操作?
一种特定语言的一种快速算法可能是:
else, {, if, (, func_133212, (, 13, ), ...
类似的方法适用于您显示的示例,也可以进行调整以适用于更复杂的示例。另外,如果您需要处理较大的文件,则可以流式传输它们的内容并逐步进行比较,但这需要更多的编码。