Форум программистов, компьютерный форум, киберфорум
Софт: Текстовые редакторы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.11.2021
Сообщений: 27
1
Windows

Notepad++ Замена CR LF

13.01.2022, 15:37. Показов 894. Ответов 19

Перевел файл субтитров, после чего структура переносов приобрела совсем другой вид, который видеопроигрыватель не читает.
Слева - оригинал. Справа - то что получилось после перевода.
Есть идеи как это можно исправить?
По факту мне нужно заменить все CR на CRLF если он единственный в строке, но (^\r) или ^\r не дает никакого результата
Миниатюры
Notepad++ Замена CR LF  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2022, 15:37
Ответы с готовыми решениями:

Notepad++ замена
Вот сам текст ,таких строк очень много: <figure class="photo"> <a...

Notepad++ замена тегов
Здравствуйте. Подскажите маску для поиска/замены тегов: <oldtag>text</oldtag> заменить на ...

Notepad ++ поиск и замена
Вообщем, что требуется: Из airalpha = blablabla airalpha = blablabla airalpha = blablabla...

поиск и замена в notepad++
Здравствуйте. Подскажите выражение каким можно сделать поиск и замену, например: Было 1341396857...

Поиск и замена в Notepad++
Здравствуйте Есть документ HTML, в нем много картинок, причем лежат в разных парках пример: ...

19
Эксперт .NET
7797 / 5261 / 1252
Регистрация: 25.05.2015
Сообщений: 16,039
Записей в блоге: 14
13.01.2022, 17:33 2
Замена
Зациклить поиск
Регулярные выражения, снять галочку с "и новые строки"

^[\s]{0,1}$\r\n
^(\S)[\r\n]+$\1\r

Если не получится, выложите образец.
0
0 / 0 / 0
Регистрация: 17.11.2021
Сообщений: 27
14.01.2022, 09:55  [ТС] 3
Цитата Сообщение от Rius Посмотреть сообщение
Если не получится, выложите образец.
Первая операция заменяет CR на CRLF под каждой строкой, но не сверху строки. Вторая не дает никакого эффекта.
Ели получится, буду благодарен за короткое пояснения происходящего (расшифровку тегов)
Вложения
Тип файла: txt Оригиналt.en.srt.txt (10.8 Кб, 9 просмотров)
Тип файла: txt Перевод.ru.srt.txt (16.1 Кб, 9 просмотров)
0
3826 / 2028 / 793
Регистрация: 06.06.2017
Сообщений: 7,074
14.01.2022, 13:38 4
Правка > Формат Конца Строк > Преобразовать в Windows (CR LF)
0
Эксперт .NET
7797 / 5261 / 1252
Регистрация: 25.05.2015
Сообщений: 16,039
Записей в блоге: 14
14.01.2022, 14:05 5
Лучший ответ Сообщение было отмечено Yarik Trample как решение

Решение

Yarik Trample, добавьте в меню run команду <путь к exe> "$(FULL_CURRENT_PATH)"
Например R:\NormalizeLineEndings.exe "$(FULL_CURRENT_PATH)"
Notepad++ Замена CR LF

Там же можно сочетание клавиш назначить.
При выполнении команды, файл перезапишется с новым содержимым по озвученным условиям.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.IO;
using System.Linq;
using System.Text;
 
namespace NormalizeLineEndings
{
    internal class Program
    {
        private static int Main(string[] args)
        {
            foreach (var path in args)
            {
                if (!File.Exists(path))
                {
                    Console.WriteLine($"Input file is not readable: {path}");
                    return 1;
                }
 
                var lines = File.ReadLines(path, Encoding.UTF8);
                var newLines = lines
                    .Select(x => string.IsNullOrEmpty(x) ? "\r\n" : x + "\r")
                    .ToArray();
                File.WriteAllText(path, string.Join(string.Empty, newLines));
            }
 
            return 0;
        }
    }
}
Вложения
Тип файла: zip NormalizeLineEndings.zip (2.5 Кб, 2 просмотров)
1
4193 / 1567 / 269
Регистрация: 10.12.2013
Сообщений: 5,422
14.01.2022, 15:52 6
Yarik Trample, на старом Маке делал перевод ?
0
0 / 0 / 0
Регистрация: 17.11.2021
Сообщений: 27
14.01.2022, 18:52  [ТС] 7
Rius, Работает, огромное спасибо.

Добавлено через 1 минуту
Цитата Сообщение от volodin661 Посмотреть сообщение
на старом Маке делал перевод ?
Нет, из под винды, переводил google translate, подгружая файл
0
Эксперт .NET
7797 / 5261 / 1252
Регистрация: 25.05.2015
Сообщений: 16,039
Записей в блоге: 14
14.01.2022, 18:52 8
Пожалуйста
0
3826 / 2028 / 793
Регистрация: 06.06.2017
Сообщений: 7,074
15.01.2022, 00:29 9
Yarik Trample, из меню не сработало, хотите сказать?
0
0 / 0 / 0
Регистрация: 17.11.2021
Сообщений: 27
15.01.2022, 01:12  [ТС] 10
Цитата Сообщение от FlasherX Посмотреть сообщение
из меню не сработало, хотите сказать?
Замену через?
^[\s]{0,1}$ → \r\n
^(\S)[\r\n]+$ → \1\r
Нет, вторая команда не давала результата
0
3826 / 2028 / 793
Регистрация: 06.06.2017
Сообщений: 7,074
15.01.2022, 01:19 11
Yarik Trample, я про 4 пост вообще-то.
0
3826 / 2028 / 793
Регистрация: 06.06.2017
Сообщений: 7,074
16.01.2022, 00:09 12
Yarik Trample, ответ завис от понимания простоты решения?
0
Эксперт .NET
7797 / 5261 / 1252
Регистрация: 25.05.2015
Сообщений: 16,039
Записей в блоге: 14
16.01.2022, 02:06 13
FlasherX, вы прочитали не всё условие:
Цитата Сообщение от Yarik Trample Посмотреть сообщение
нужно заменить все CR на CRLF если он единственный в строке
Преобразовать в Windows (CR LF)
Заменяет вообще всё.
0
3826 / 2028 / 793
Регистрация: 06.06.2017
Сообщений: 7,074
16.01.2022, 02:18 14
Rius, переводы строк не могут быть В строке, они идут отдельно как разделители строк. Соотв., единственность тут очевидна. В любом случае нет никакого смысла оставлять по несколько CR без LF, если формат логично сохранять в нативном виде, а не в замесе MAC c WIN.
0
Эксперт .NET
7797 / 5261 / 1252
Регистрация: 25.05.2015
Сообщений: 16,039
Записей в блоге: 14
16.01.2022, 16:09 15
Можно заменить в переводе \r\r на \r массовой заменой и это уже будет работать. После можно и на CRLF заменить, тоже останется работоспособным.

Но это несоответствие исходному формату. Придётся проверять каждую строку текста вручную, либо всё внимательно просматривать в плеере, чтобы удостовериться.
0
3826 / 2028 / 793
Регистрация: 06.06.2017
Сообщений: 7,074
16.01.2022, 16:44 16
Rius, можно-то можно, но тогда и исходное форматирование меняется. ТС стоило грамотней ТЗ формулировать, чтобы понимать, что с чем делать в итоге.
0
0 / 0 / 0
Регистрация: 17.11.2021
Сообщений: 27
16.01.2022, 19:25  [ТС] 17
Цитата Сообщение от FlasherX Посмотреть сообщение
ТС стоило грамотней ТЗ формулировать
Возможно. Я лишь заметил разбежности форматирования текста и пришел к выводу что его нужно привести в исходный вид, дабы файл корректно читался.
0
3826 / 2028 / 793
Регистрация: 06.06.2017
Сообщений: 7,074
16.01.2022, 19:51 18
Yarik Trample, вот он и должен читаться корректно при полноценном переводе Cr в CrLf, а не половина на середину как в некорректной постановке ТЗ.
0
0 / 0 / 0
Регистрация: 17.11.2021
Сообщений: 27
17.01.2022, 11:28  [ТС] 19
Цитата Сообщение от FlasherX Посмотреть сообщение
а не половина на середину
В чем тогда смысл такого форматирования в исходнике?
0
Эксперт .NET
7797 / 5261 / 1252
Регистрация: 25.05.2015
Сообщений: 16,039
Записей в блоге: 14
17.01.2022, 11:31 20
Возможно тот, кто его писал, не знал о формате файла.
Либо в том плеере, что он использовал была вот так реализована поддержка srt.
Либо какая-то хитрая манипуляция, понятная лишь узким кругам субтитровщиков.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2022, 11:31

Notepad++ массовая замена
Как осуществить массовую замену (удаление) такого вида текста: text1blablabla text2blablalbaaa...

Notepad++ замена текста
Приветствую. Ситуация такая. Имеется 2 файла, в обоих файлах имеются идентичные в начале строки,...

Notepad++ замена регулярного выражения
Доброго дня! Подскажите как notepad++ заменить на пустышку (удалить) следующий текст (в скобках...

Notepad++ замена дубликатов (каналов)
Здравствуйте. Имеется плейлист IPTV-каналов .m3u8. Пример содержимого: #EXTINF:0 tvg-rec=&quot;7&quot;,ИМЯ...

Notepad++ замена с переносом строк
Здравствуйте! Существует код с переносами, где нужно найти вторую строчку и заменить её....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru