[identity profile] champansky.livejournal.com posting in [community profile] useful_faq
Суть такова:
есть большой объём художественного текста, он разбит на строки. Больше никакого форматирования нет, храниться это всё может, допустим в простом текстовом файле. Большинство строк является отдельными предложениями, начинающимися с прописных букв. Иногда с кавычек или тире (диалог). Некоторые же строки разорваны, т.е. начинаются со строчных.

Задача: сделать такой скрипт, чтобы можно было этот текст построчно обработав, выискивая строки, соответствующие определённым критериям («начинается со строчной буквы») и приклеивая их к предыдущей строке. Ну и ещё какие-нибудь мелочи, типа подсчёта символов в строках и т.д.

В какой программной среде есть такой функционал, чтобы можно было, не имея специальных знаний, разобраться с синтаксисом и сделать себе скрипты необходимой мне обработки текста?

Можно было бы и в экселе организовать, но там я не нахожу способа проверки «строчная/прописная». Или макросами можно? Нет ли чего-то попроще, заранее ориентированного на такую специфику?

Date: 2015-06-27 12:47 pm (UTC)
From: [identity profile] rambalac.livejournal.com
Экселем? Причём тут эксель, это текст.
Заменить по регулярному выражению "$([а-я])" на " $1"
Регулярные выражения есть в любых нормальных редакторах включая МС Ворд

Date: 2015-06-27 12:55 pm (UTC)
From: [identity profile] rambalac.livejournal.com
Текст можно легко вставить в паинтбраш.
И? Чем решение не устраивает? Зачем менять на прописные?
Edited Date: 2015-06-27 12:56 pm (UTC)

Date: 2015-06-27 01:35 pm (UTC)
From: [identity profile] dr-trans.livejournal.com
Можно пример текста?
Если между абзацами есть пустая строка, то делаем так:
1) все двойные пробелы меняем на одинарные,
2) все абзацы меняем на пробелы,
3) все двойные пробелы меняем на абзац.
В результате строки будут срощены. :)

Date: 2015-06-27 09:13 pm (UTC)
From: [identity profile] dr-trans.livejournal.com
Таки нет системы... А руками будет долго...

Date: 2015-06-27 01:37 pm (UTC)
From: [identity profile] abazow.livejournal.com
https://ru.wikipedia.org/wiki/TeX
может сделать все, что вы себе даже представить не можете.

Date: 2015-06-27 09:15 pm (UTC)
From: [identity profile] dr-trans.livejournal.com
Не, Сам редактор небольшой. 2 ГБ -- это библиотека фильтров и шаблонов под все существующие научные периодические издания мира и еще куча всяких макросов, конвертеров и прочего барахла.

Date: 2015-06-27 08:54 pm (UTC)
From: [identity profile] shlasasha.livejournal.com
Sub UpperCaseCheck()

Dim intASCII As Integer

intASCII = Asc(Left(Range("A1").Value, 1))

Select Case intASCII
Case 65 To 90 'ASCII Code for A to Z
MsgBox "First alpha character is capitalised"
Case Else
MsgBox "First alpha character is not capitalised"
End Select

End Sub

Date: 2015-06-27 10:42 pm (UTC)
From: [identity profile] karpion.livejournal.com
На языках типа Perl или AWK пишется за пару минут. Ну, если знать эти языки.

Или можно взять Notepad++ - там есть функция замены и использованием regex.
Я так понимаю, надо включить режим regex и менять "\n([а-я])" на " $1". Но проверять это лень.

Date: 2015-06-29 03:20 pm (UTC)
forever_live: (E8)
From: [personal profile] forever_live
Лучше "\n(^[A-ZЁА-Я])"

Но, всё равно, придётся вычитывать результат. Тем более, что выражение не учитывает все возможные заглавные буквы всех алфавитов.

Date: 2015-06-29 03:13 pm (UTC)
forever_live: (E8)
From: [personal profile] forever_live
Проблема для автоматической обработки в том, что заглавные буквы встречаются и в середине предложений. А также цифры, буквы других алфавитов и другие символы. Даже если применить регулярное выражение, дважды упомянутое в коментах, то потом придётся текст вычитывать.