15.09.2008, 01:38 | #1 |
Эксперт
Регистрация: 27.01.2007
Сообщений: 1,573
Вес репутации: 281
|
Выборка однотипного из массива
Отдельного раздела по программам нет, поэтому в Курильню:
Имеем массив словосочетаний, нужен инструмент для сортировки (или перемещения в отдельный файл) всех словосочетаний с заданным словом, с удалением перемещаемого массива со словом из общей текстовой базы Рад бы в поиске найти, но как запрос сформулировать, хз |
15.09.2008, 01:44 | #2 |
Особый статус
|
$array - исходный массив.
$word - искомое слово PHP код:
|
15.09.2008, 02:47 | #3 |
Эксперт
Регистрация: 27.01.2007
Сообщений: 1,573
Вес репутации: 281
|
о весч, спасибо, а доработать до версии мона, чтобы кидаешь со скриптом txt файлик со словосочетаниями задаешь ключевик, а на выходе получаешь один файл со словосочетаниями с ключевиком, а второй с оставшимися словосочетаниями (без отобранных в первый файл)
Может уже что есть в паблике, потому и спрашиваю... |
15.09.2008, 03:03 | #4 |
Особый статус
|
Эээ... По порядку: что, откуда, куда, где и при каких обстоятельствах?
|
15.09.2008, 11:57 | #8 |
Эксперт
Регистрация: 27.01.2007
Сообщений: 1,573
Вес репутации: 281
|
кароче, устроили тут программистский батл
имеем файл 1.txt в нем куча словосочетаний: ключ1ключ2 ключ1ключ2ключ3 ключ2ключ3 ключ3 задаю скрипту ключ1 на выходе должны получиться два файла: 2.txt - с искомыми словосочетаниями, где содержиться ключ1 ключ1ключ2 ключ1ключ2ключ3 и 3.txt в котором будут содержаться остатки без ключ1 ключ2ключ3 ключ3 Всем спасибо |
15.09.2008, 12:06 | #9 |
Специалист
|
Типа того?
<?php $data = file("1.txt"); $key = "ключ1"; $data1 = $data2 = array(); foreach ($data as $v) { if (stristr($v, $key)==true) $data1[] = $v; else $data2[] = $v; } $fp = fopen ("2.txt", "w+"); fwrite ($fp, implode($data1)); fclose ($fp); $fp = fopen ("3.txt", "w+"); fwrite ($fp, implode($data2)); fclose ($fp); ?> |
15.09.2008, 15:44 | #10 |
Эксперт
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 249
|
Ох, как же ужасно выглядит код на ПХП.
Гляньте, как это выглядит, например, на Питоне: Код:
key = "ключ1" inp_file = open("1.txt", "rt") out_file1 = open("2.txt", "wt") out_file2 = open("3.txt", "wt") for line in inp_file.readlines(): if key in line: out_file1.write("\n") else: out_file2.write("\n") inp_file.close() out_file1.close() out_file2.close() Код:
key = "ключ1" inp_array = ['ключ1ключ2', 'ключ1ключ2ключ3', 'ключ2ключ3', 'ключ3'] out1 = [line for line in inp_array if key in line] out2 = [line for line in inp_array if key not in line] |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выборка сайтов из каталога Яндекса | polonnik | Вопросы от новичков | 2 | 15.09.2008 18:15 |
Повышение цены, выборка ссылок для подтверждения | metton | Пожелания пользователей системы | 1 | 04.02.2008 02:42 |
Выборка страниц по УВ/ПР | Sasa | Пожелания пользователей системы | 16 | 27.11.2007 01:53 |
Часовой пояс GMT +3, время: 19:58.