Есть текстовый файл, предполжим такого вида: "...Параметр -savehelps заставляет сохранить файл helps.txt. Фрагмент файла ROM=KJF5IDJGJ для иллюстрации: ... #RACE хранит шаблон, по которому создаются мобы определенной ROM=2JL7JVS9GJ разновидности (расы, вида и т.п.). ..." Как вытащить то, что находится после "ROM=" в отдельный файл? чтобы на выходе был txt, содержий в себе: KJF5IDJGJ 2JL7JVS9GJ .............
Проверь (мне лень) PHP: <?php $text =file_get_contents('txt.txt'); preg_match_all("#ROM=(.*)#iU",$text, $out ); $result = $out[1]; foreach($result as $value) { echo "$value <br />"; flush(); } ?> Правда вывод не в файл сделал а на экран...если что- сам допишеш пару строчек сохранения файла ... P.S. запостил бы в тематическом разделе в вопросах, получил бы на том ЯП который тебе ближе- а так мучайся- выбирай из этих вариантов что тебе предложили
Code: #!/usr/local/bin/perl open(F, 'in.txt'); $f = join('', <F>); close(F); @ar = $f =~ /ROM=(.+?)\s/g; open(OUT, '>> oit.txt'); foreach (@ar) { print OUT "$_\n"; } close(OUT);
это на руби, не тестировалось Code: infl=File.new("infile.txt","rb") outfl=File.new("outfile.txt","a") while !infl.eof do outfl.puts infl.gets.chop.split("ROM=")[1] end outfl.close infl.close
Ребятки а кто мне поможет, очень нужно, нигде найти не могу парсера что бы делал из текста: user:86359b816ab3adff0ae96dbed4b7ddb6 в текст: 86359b816ab3adff0ae96dbed4b7ddb6:user Заранее очень благодарен! Пойдет и php и perl А еще лучше если парсер будет объединять 2 словаря, список юзеров и хэшей в: 86359b816ab3adff0ae96dbed4b7ddb6:user
A Python ? Code: #!/usr/bin/env python #-*-encoding:UTF-8-*- with open("input_1.txt") as inpt1: with open("input_2.txt") as inpt2: with open("out.txt", "w") as out: for line in inpt1: line = line.strip().split(":") if len(line) == 2: out.write("{0}:{1}\n".format(line[1], line[0])) else: print "BAD FORMAT {0}".format(":".join(line)) for line in inpt2: line = line.strip().split(":") if len(line) == 2: out.write("{0}:{1}\n".format(line[1], line[0])) else: print "BAD FORMAT {0}".format(":".join(line)) Уже для двух файлов )
пишет BAD FORMAT 86359b816ab3adff0ae96dbed4b7ddb1 BAD FORMAT 86359b816ab3adff0ae96dbed4b7ddb2 BAD FORMAT user1 BAD FORMAT user2
Конешн, слава богу что додумался сделать проверку ))) Чет мну кажется что я тебя не совсем верно понял. Code: #!/usr/bin/env python #-*-encoding:UTF-8-*- with open("input_1.txt") as inpt1: with open("input_2.txt") as inpt2: with open("out.txt", "w") as out: while True: try: part_one = inpt1.next().strip() part_two = inpt2.next().strip() out.write("{0}:{1}\n".format(part_one, part_two)) except StopIteration: print "FINISHED" break raw_input() Попробуй так. Прошлый же делает замену как ты хотел + делает это для двух файлов и пишет в третий.