[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样提取某个字符串作为前缀?

{ ID = 100, Name = "黑猫警长", EmptyName = "", IconID = 0, NumericalRate = 0.6, ItemID = 100, BuffID = { 10 }, Pos = { X= 100, Y= 89 }, Type = 0, SkillID = { 4, 6, 7 }, AttackParam = { Value= 1 }, SingleStruct = { HP= 100, AttackRate= 1.2 }, StrStruct = { { HP= 3, ExType= 0 }, { HP= 10, ExType= 1 } }         },
{ ID = 101, Name = "葫芦\n娃", EmptyName = "", IconID = 0, NumericalRate = 0.8, ItemID = 100, BuffID = { 3, 1 }, Pos = {  }, Type = 2, SkillID = { 1 }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         },
{ ID = 102, Name = "舒\"克\"", EmptyName = "", IconID = 0, NumericalRate = 0.7, ItemID = 100, BuffID = {  }, Pos = {  }, Type = 3, SkillID = {  }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         },
{ ID = 103, Name = "贝\n塔", EmptyName = "", IconID = 0, NumericalRate = 0, ItemID = 100, BuffID = {  }, Pos = {  }, Type = 1, SkillID = {  }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         },
{ ID = 104, Name = "邋遢大王", EmptyName = "", IconID = 0, NumericalRate = 1, ItemID = 100, BuffID = {  }, Pos = {  }, Type = 2, SkillID = {  }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         }


怎么将上面的内容替换成
[100] = { ID = 100, Name = "黑猫警长", EmptyName = "", IconID = 0, NumericalRate = 0.6, ItemID = 100, BuffID = { 10 }, Pos = { X= 100, Y= 89 }, Type = 0, SkillID = { 4, 6, 7 }, AttackParam = { Value= 1 }, SingleStruct = { HP= 100, AttackRate= 1.2 }, StrStruct = { { HP= 3, ExType= 0 }, { HP= 10, ExType= 1 } }         },
[101] = { ID = 101, Name = "葫芦\n娃", EmptyName = "", IconID = 0, NumericalRate = 0.8, ItemID = 100, BuffID = { 3, 1 }, Pos = {  }, Type = 2, SkillID = { 1 }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         },
[102] = { ID = 102, Name = "舒\"克\"", EmptyName = "", IconID = 0, NumericalRate = 0.7, ItemID = 100, BuffID = {  }, Pos = {  }, Type = 3, SkillID = {  }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         },
[103] = { ID = 103, Name = "贝\n塔", EmptyName = "", IconID = 0, NumericalRate = 0, ItemID = 100, BuffID = {  }, Pos = {  }, Type = 1, SkillID = {  }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         },
[104] = { ID = 104, Name = "邋遢大王", EmptyName = "", IconID = 0, NumericalRate = 1, ItemID = 100, BuffID = {  }, Pos = {  }, Type = 2, SkillID = {  }, AttackParam = {  }, SingleStruct = { HP= 10, AttackRate= 0, ExType= 0 }, StrStruct = { {  } }         }

回复 2# Batcher


    local tab = {
        Sample = {
                { ID = 100, Name = "黑猫警长"},
                { ID = 102, Name = "舒克"},
                { ID = 103, Name = "贝塔"},
                { ID = 104, Name = "邋遢大王"}
        }

}


-- ID
tab.SampleByID = {}
for _, rec in pairs(tab.Sample) do
        tab.SampleByID[rec.ID] = rec
end

-- Name
tab.SampleByName = {}
for _, rec in pairs(tab.Sample) do
        tab.SampleByName[rec.Name] = rec
end

tab.Enum = {
        ActorType = {
                [0] = "Leader",
                [2] = "Pig",
                Monkey = 1,
                Hammer = 3,
        },
}

return tab


以上是一个txt文本,我想从整个文本中将Sample表里的数据提取出来,然后一它的ID为前缀拼接一下成为以下数据

[100] = { ID = 100, Name = "黑猫警长"},
[101] = { ID = 102, Name = "舒克"},
[101] = { ID = 103, Name = "贝塔"},
[101] = { ID = 104, Name = "邋遢大王"}

我目前只能实现提取出来,不知道怎么写入他的前缀,就是[100]=  这种
这是我目前写的
chcp 65001
@echo off&setlocal enabledelayedexpansion
cd .
set list=%cd%
for /f "delims=" %%D in ('dir /a:d /b') do set list=!list! %%~fD
for %%a in (%list%) do (
        echo return{ > a.txt
        for %%p in (%%a\*.lua) do (
                findstr /c:"{ ID =" %%p >> a.txt
        )
        echo } >> a.txt
)
pause

TOP

回复 5# hfxiang


    下载了,运行完什么效果也没看到的

TOP

回复 4# pd1


    我试了,好像不行,方便的话能具体说说吗,谢谢了

TOP

回复 9# hfxiang


    确实,txt转成ANSI格式就可以了,谢谢了

TOP

返回列表