|
12 / 1 / 3
Регистрация: 26.06.2016
Сообщений: 87
|
|
Удалить из файлов определенные символы30.06.2016, 19:35. Показов 2075. Ответов 10
Метки нет (Все метки)
необходимо сделать так чтобы в файле искались необходимые символы и потом из этого файла удалялось все что было до искомых символов + вся строка где нашлись эти символы (они всегда будут в одной строке).
И вторая часть задачи - опять же найти определенные символы и удалить все до конца файла начиная с этих символов. Подскажите пожалуйста как все это можно реализовать? Добавлено через 1 минуту как выбрать путь к папке с файлами и построчно записать эти файлы в массив я знаю....
0
|
|
| 30.06.2016, 19:35 | |
|
Ответы с готовыми решениями:
10
Удалить определенные символы из строки Удалить из строки определенные символы |
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|||||||||||||||||
| 30.06.2016, 20:11 | |||||||||||||||||
|
Futtoto, раз
Предположим фаил содержит такой текст:
0
|
|||||||||||||||||
|
12 / 1 / 3
Регистрация: 26.06.2016
Сообщений: 87
|
|
| 30.06.2016, 20:40 [ТС] | |
|
мне нужно таким образом обрабатывать тысячи файлов с совершенно разным содержанием...
Добавлено через 2 минуты текст, который надо искать будет иметь вид, например, "From 192.168.001.001 00025 To 192.168.001.020 00110" и нужно будет удалить все что было до искомого текста + ту строку, в которой был найден искомый текст Добавлено через 20 минут и нужно чтобы искалось не строгое значение, а маска символов, например слово From потом пробел, 3 цифры точка, 3 цифры точка, 3 цифры точка, 3 цифры пробел 5 цифр... ну или не обязательно цифра, а можно использовать "любой символ" Добавлено через 2 минуты по причине того, что размер обрабатываемых файлов может достигать 10 Мбайт было бы неплохо после того как нашлась первая искомая комбинация и все необходимое удалилось (все что до этой комбинации + строка, в которой найдены искомые символы) прочитать тот же файл но только с конца, т.к. вторая часть задачи будет искаться в конце файла. Тем самым увеличится скорость обработки - не придется загружать весь файл в массив
0
|
|
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
| 30.06.2016, 20:41 | ||||||
|
Futtoto, и в чем проблема, тему открытия и перезаписи уже обсуждали... Могу научить как заменить одну строку другой.
0
|
||||||
|
12 / 1 / 3
Регистрация: 26.06.2016
Сообщений: 87
|
|
| 30.06.2016, 20:46 [ТС] | |
|
проблема в том как задать маску для первой части задачи и как после выполнения первой части загрузить тот же файл только задом на перед (с конца) и только после выполнения второй части перейти к следующему файлу
0
|
|
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|||||||||||
| 30.06.2016, 21:16 | |||||||||||
|
Futtoto, изначально задача показалась немного иной.
Что насчет? Тут строка получает результат:
0
|
|||||||||||
|
12 / 1 / 3
Регистрация: 26.06.2016
Сообщений: 87
|
|
| 30.06.2016, 21:20 [ТС] | |
|
а что такое \n ??
0
|
|
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
|||||||||||
| 30.06.2016, 21:50 | |||||||||||
|
Удалил после)).. Накасячил..
Даже проще, минутку, опять не так понял =) Добавлено через 29 минут Futtoto,
0
|
|||||||||||
|
12 / 1 / 3
Регистрация: 26.06.2016
Сообщений: 87
|
|
| 30.06.2016, 22:09 [ТС] | |
|
опять наверное не так поняли.... искомая комбинация символов не в начале файла, следовательно ее сначала нужно найти. потом удалить все что было до нее и и ту строку где найдена эта комбинация.
и как задать маску для поиска, а не строгое значение тотго что нужно найти? Добавлено через 2 минуты файл имеет вид: апьаьпь 2 ьь 2 ьь ь б бб бб б вывпы п From 192.168.001.001 00025 To 192.168.001.020 00110 dsgmmsd lgdlslg должно получиться: dsgmmsd lgdlslg Добавлено через 9 минут потом после dsgmmsd lgdlslg идет еще 10 Мбайт информации и в конце файла, например, ывоаывоа оыва ывалыл End sksksksks 123123123123 123123 нужно удалить все начиная с End и до конца файла. чтобы не считывать все 10 Мбайт было бы неплохо считать файл с конца чтобы быстрее найти искомые символы "End" Добавлено через 1 минуту в итоге должно получиться: dsgmmsd lgdlslg "бла-бла-бла...." ывоаывоа оыва ывалыл
0
|
|
|
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
|
||||||
| 30.06.2016, 23:12 | ||||||
|
Пост 8!!!
0
|
||||||
|
12 / 1 / 3
Регистрация: 26.06.2016
Сообщений: 87
|
|
| 01.07.2016, 10:11 [ТС] | |
|
да что ж такое ? )))
я не могу знать в каком месте файла будет то что мне нужно найти и соответственно не могу знать какие соседние символы будут с теми какие я задам для поиска Добавлено через 7 минут повторю пошагово что нужно сделать... 1. часть: - ввести определенный набор символов по маске (чтобы любой символ можно было заменить вопросом); - найти этот набор символов в определенном файле; - удалить все от начала файла до этих символов; - удалить строку, в которой нашлись искомые символы. 2. часть: в силу того, что файлы могут достигать размера вплоть до 10 Мбайт было бы разумно прочитать тот же файл (где выполнялась 1. часть задачи) начиная с последней строки (т.к. вторая искомая комбинация символов будет в конце файла) чтобы не записывать все 10 Мбайт в массив. - ввести определенный набор символов; - найти этот набор символов в том же файле где выполнялась 1. часть задачи; - удалить всё начиная с этих символов и до конца файла; - сохранить обрезанный файл; - перейти к следующему файлу для выполнения задачи. Добавлено через 1 час 48 минут по идее string from = "dsgmmsd lgdlslg"; string to = "123123"; string str = "апьаьпь 2 ьь 2 ьь ь\nб бб\nбб б вывпы п\nFrom 192.168.001.001 00025 To 192.168.001.020 00110\ndsgmmsd lgdlslg\nывоаывоа оыва\nывалыл \nEnd sksksksks\n123123123123\n123123"; str.Split('\n').ToList().TakeWhile(x => !x.Contains(to) ? true : x.Length != to.Length ? true : false) .SkipWhile(x => !x.Contains(from)).ToList().ForEach(x => Console.WriteLine(x)); должно работать НО опять же только в Юникоде.... а у меня файлы могут быть в любой кодировке Добавлено через 4 минуты остается решить проблему, заключающуюся в том, что бы найти как поделить строки (по символу переноса строки в Юникоде не прокатывает, т.к. в других кодировках символ другой) Добавлено через 1 час 15 минут может перед тем как загонять файл в строчный массив его перекодировать в Юникод, а после обрезания ненужных частей вернуть ему исходную кодировку?
0
|
|
| 01.07.2016, 10:11 | |
|
Помогаю со студенческими работами здесь
11
Убрать из текстового файла определенные символы Конвертация из string в byte[], исключая определенные символы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|