1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
1 | |
Объединение/склеивание группы строк в одну строку29.01.2018, 17:54. Показов 4116. Ответов 22
Метки нет (Все метки)
Здравствуйте, задача следующая...
Существует файл 1.txt, в котором находится очень много строк в таком виде:
0
|
29.01.2018, 17:54 | |
Ответы с готовыми решениями:
22
Объединение строк в одну строку Объединение массива строк в одну строку Перенос значений из строк в столбцы. При выполнении по 2-х условий, объединение данных в одну строку. Удаление Объединение строк в одну |
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
|
|
29.01.2018, 18:13 | 2 |
0
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
29.01.2018, 18:20 [ТС] | 3 |
0
|
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
|
||||||
29.01.2018, 18:30 | 4 | |||||
Сообщение было отмечено georgmann как решение
Решение
Например как нибудь так
2
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
29.01.2018, 19:20 [ТС] | 5 |
Ух ты! Спасибо, но никак не получается опробовать этот скрипт, какая-то ошибка.
0
|
Заблокирован
|
|
29.01.2018, 22:59 | 6 |
georgmann, видимо были ошибки при сборке.
0
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
30.01.2018, 05:19 [ТС] | 7 |
Да, при вставке кода в Visual Studio получил сообщение о многих ошибках.
Это я что-то делаю не так, или в чём проблема? Извините, я только второй день как осваиваю C#
0
|
.NET senior
440 / 358 / 137
Регистрация: 23.09.2016
Сообщений: 980
|
|
30.01.2018, 06:52 | 8 |
georgmann, видимо, Вы не добавили при копировании подключение пространств имён, объявление класса и необходимых методов. Попробуйте создать новый пустой проект и сравните его с Вашим кодом. Также предлагаю скопировать информацию об ошибках на форум - так Вам помогут с большей вероятностью.
0
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
30.01.2018, 07:34 [ТС] | 9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Создал новый проект C#>Консольное приложение
В созданном проекте содержится код по умолчанию: Кликните здесь для просмотра всего текста
Удаляю код по умолчанию и вставляю код, любезно предоставленный Someone007: Кликните здесь для просмотра всего текста
После вставки кода программа сообщает об ошибках: Кликните здесь для просмотра всего текста
В чём проблема? Помогите пожалуйста.
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
||||||
30.01.2018, 08:04 | 10 | |||||
Сообщение было отмечено georgmann как решение
Решение
georgmann, мистер Someone007 привёл код подразумевая, что вы понимаете что делаете и обладаете знаниями больше, чем никакими.
2
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|||||||||||||||||||||
30.01.2018, 08:43 [ТС] | 11 | ||||||||||||||||||||
Вы правы, знания на нуле, я только начал осваивать C#.
Большое спасибо за понимание и помощь, попробовал данный код, осталось 4 ошибки. Какие-то проблемы в строках 13,14 с StreamReader: Кликните здесь для просмотра всего текста
0
|
12079 / 8388 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
30.01.2018, 08:49 | 12 |
georgmann, поставьте каретку курсора на слово "StreamReader" и нажмите Ctrl+. (control + точка) Из появившегося списка выберите подключение нужного неймспейса.
Если ничего не поняли, то просто добавьте using System.IO; в заголовок.Добавлено через 4 минуты Не по теме: А вообще, с такими знаниями, зачем вам понадобилось какие-то задачки решать? Что с этого толку?
0
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
30.01.2018, 09:03 [ТС] | 13 |
Премного благодарен, дорой друг! Иногда сталкиваюсь с "такими" задачка и пытаюсь в интернете найти более простые способы решения, напрмер: CMD/BAT, но эти скрипты работают медленно. Посоветовали изучить C#. Посмотрим.
А также за помощь благодарю Someone007.
0
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
02.02.2018, 00:02 [ТС] | 14 |
Здравствуйте.
Кто поможет написать код C# ещё для нескольких задач (обработка файлов txt). Сложность на подобии той, что казана в данном посте. Спасибо.
0
|
Заблокирован
|
|
02.02.2018, 00:16 | 15 |
georgmann, эм... А еще в этом посте есть решение подобных задач. Так может самому попробовать?
1
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
05.02.2018, 16:44 [ТС] | 16 |
Существует три файла: 1.txt 2.txt 3.txt
Структура файла 1.txt Кликните здесь для просмотра всего текста
my audio 1.mp3
my video 1.mp4 my audio 2.mp3 my video 2.mp4 my audio 3.mp3 my video 3.mp4 Структура файла 2.txt Кликните здесь для просмотра всего текста
my audio 1.mp3
текст http:\link\1.com my audio 2.mp3 текст http:\link\2.com my audio 3.mp3 текст http:\link\3.com Структура файла 3.txt Кликните здесь для просмотра всего текста
текст текст текст текст
текст текст текст текст текст текст текст текст текст my video 1.mp4 текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст my video 2.mp4 текст текст текст текст Необходимо чтобы скрипт из файла 2.txt взял нужную ссылку и вставил её в файл 3.txt в нужное место. Конечный результат (файл 3.txt): Кликните здесь для просмотра всего текста
текст текст текст текст
текст текст текст текст текст http:\link\1.com текст текст текст текст текст my video 1.mp4 текст текст текст текст текст текст текст текст текст текст текст текст текст http:\link\2.com текст текст текст текст текст my video 2.mp4 текст текст текст текст Если это делать "вручную", то приходится делать несколько шагов: 1) в файле 1.txt последовательно сверху вниз найти и скопировать всю строку, в конце которой всегда есть ".mp4" (my video 1.mp4); 2) затем перейти в файл 3.txt, найти строку (текст my video 1.mp4), в которой содержиться скопированная в буфер обмена строка (my video 1.mp4), стрелкой вверх переместиться на одну строку выше (в начало строки), нажать ЕNTER и ещё раз подняться стрелкой выше (таким образом создаеться пустая строка, на которой находиться курсор и которая послужит местом для дальнейшей вставки ссылки - это и будет то нужное место); 3) затем перейти в файл 1.txt, подняться на одну строку выше той, что были ранее найдена (my video 1.mp4) и скопировать всю строку (my audio 1.mp3); 4) затем перейти в файл 2.txt, найти строку соответсвенно буфер обмену (my audio 1.mp3), опуститься на одну строку ниже - это и будет та нужная ссылка, скопировать всю эту строку; 5) затем перейти в файл 3.txt и произвести вставку из буфера обмена. Этот процесс продолжается до тех пора, пока в файле 1.txt не заканчиваются все строки. Пожалуйста выручайте! Помогите со скриптом, а то вручную это занимает очень много времени. Заранее спасибо за Вашу отзывчивость и снисходительность.
0
|
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
|
||||||
05.02.2018, 21:42 | 17 | |||||
Сообщение было отмечено georgmann как решение
Решение
georgmann, примерно так
1
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
||||||
06.02.2018, 00:49 [ТС] | 18 | |||||
Я не могу в это поверить, но мне удалось правильно собрать весь код!!!
Кликните здесь для просмотра всего текста
И хотя продолжительность работы скрипта (при работе со 100 ссылками) составляет 1,45 минуты - это терпимо, ведь в "ручном режиме" (с помощью какого-нибудь автокликера) этот процесс занимал десятки часов!!! Конечно же при работе с 10 000 ссылок продолжительность процесса составит примерно 3 часа, но всё же это быстрее "режима автокликера" и значительно удобней - запустил и забыл. Огромное спасибо за помощь!
0
|
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
|
|
06.02.2018, 01:18 | 19 |
georgmann, не за что! оптимизация не помешает, но тут надо точно знать, отсортированы ли файлы, всегда ли кол-во в одних файлах совпадает с другими; возможно ли изменение формата входных данных...
в общем случае можно ускорить раза в 2+ минимум, если разного рода"оптимизации" есть/возможны, ибо писал перебор исходя из того, что может быть не "подогнано, как надо"(тупо перебор...)
0
|
1 / 1 / 0
Регистрация: 29.01.2018
Сообщений: 22
|
|
06.02.2018, 12:39 [ТС] | 20 |
Да, это точно!
Что касается структуры файлов, то в файле 1.txt расположение строк всегда именно такое, как указано выше: В файле 2.txt строк может быть меньше или больше, чем в файле 1.txt. Что касается файла 3.txt, то в нём количество строк, в которых находится "my video 1.mp4" соответствует тому, что находится в файла 1.txt. В файле 3.txt все строки, в которых находиться то, что нужно искать ".mp4" начинаются одинаково, то есть если это возможно, то может быть стоит задать условие, чтобы перебор происходил только по тем строкам, которые начинаются с определённых символов. Кроме того, можно задать условие, что если в файле 3.txt необходимая строка найдена и ссылка добавлена, то нет необходимости продолжать перебор а переходить на следующую поисковую строку в файле 1.txt. Эта информация может способствовать оптимизации? Добавлено через 5 минут Что касается файла 3.txt, то это самый объемный файл (иногда 50-80 мб, 60-80 тысяч строк и длина некоторых строк достигает 4500 символов, кстати в этих длинных строках точно нету того, что нужно искать).
0
|
06.02.2018, 12:39 | |
06.02.2018, 12:39 | |
Помогаю со студенческими работами здесь
20
Объединение строк в одну Sql объединение в одну строку Объединение строк из файла в одну Объединение строк по 5 подряд в одну Объединение нескольких строк в одну Объединение нескольких строк в одну Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |