比方说,你有一堆如下面包含行的文件:如何在文本文件中自动插入字段?
{yellow_forest_ant|monsters_insects:2|Yellow forest ant|forestant||5|||10|100|||2|2|15||insect|||||||||}; {small_rabid_dog|monsters_dogs:1|Small rabid dog|forestdog||6|||10|90|||2|2|||canine|||||||||};
而且你要插入的第5和第6场,其中一些新的内容,要看是什么现有的域之间三个字段是。
你会如何以自动化的方式做到这一点? 在现有文本文件的行内插入一些动态内容。
我的解决方案(在Perl):
while(<>) {
if (/\{(.+?)\};/) {
my @v= $1 =~ /([^\|\{\}]*?|\{\{.*?\}\})\|/g;
my @output= (@v[0..4], guessMonsterClass($v[1]), $uniques{$v[0]}, '',@v[5..24]);
print '{'.join('|',@output)."|};\n";
} else { print; }
}
虽然我的解决方案有效,它不能很好地工作。 改进请!
只需将大括号内的字符串拆分到'/ \ | /'中,更改结果数组的元素,将''''上更改的数组加入并输出。 – 2012-01-09 04:43:18
为什么这个问题用'xml'标记?我没有看到与XML相关的内容。 – choroba 2012-01-09 08:34:22