Скрипт или софт для обработки текста
Jun. 27th, 2015 03:02 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Суть такова:
есть большой объём художественного текста, он разбит на строки. Больше никакого форматирования нет, храниться это всё может, допустим в простом текстовом файле. Большинство строк является отдельными предложениями, начинающимися с прописных букв. Иногда с кавычек или тире (диалог). Некоторые же строки разорваны, т.е. начинаются со строчных.
Задача: сделать такой скрипт, чтобы можно было этот текст построчно обработав, выискивая строки, соответствующие определённым критериям («начинается со строчной буквы») и приклеивая их к предыдущей строке. Ну и ещё какие-нибудь мелочи, типа подсчёта символов в строках и т.д.
В какой программной среде есть такой функционал, чтобы можно было, не имея специальных знаний, разобраться с синтаксисом и сделать себе скрипты необходимой мне обработки текста?
Можно было бы и в экселе организовать, но там я не нахожу способа проверки «строчная/прописная». Или макросами можно? Нет ли чего-то попроще, заранее ориентированного на такую специфику?
есть большой объём художественного текста, он разбит на строки. Больше никакого форматирования нет, храниться это всё может, допустим в простом текстовом файле. Большинство строк является отдельными предложениями, начинающимися с прописных букв. Иногда с кавычек или тире (диалог). Некоторые же строки разорваны, т.е. начинаются со строчных.
Задача: сделать такой скрипт, чтобы можно было этот текст построчно обработав, выискивая строки, соответствующие определённым критериям («начинается со строчной буквы») и приклеивая их к предыдущей строке. Ну и ещё какие-нибудь мелочи, типа подсчёта символов в строках и т.д.
В какой программной среде есть такой функционал, чтобы можно было, не имея специальных знаний, разобраться с синтаксисом и сделать себе скрипты необходимой мне обработки текста?
Можно было бы и в экселе организовать, но там я не нахожу способа проверки «строчная/прописная». Или макросами можно? Нет ли чего-то попроще, заранее ориентированного на такую специфику?
no subject
Date: 2015-06-27 12:47 pm (UTC)Заменить по регулярному выражению "$([а-я])" на " $1"
Регулярные выражения есть в любых нормальных редакторах включая МС Ворд
no subject
Date: 2015-06-27 12:54 pm (UTC)Нет, мне не нужно менять строчные на прописные, мне нужно взять строку, которая начинается со строчной, и приклеить её (или её часть) к предыдущей строке.
no subject
Date: 2015-06-27 12:55 pm (UTC)И? Чем решение не устраивает? Зачем менять на прописные?
no subject
Date: 2015-06-27 12:59 pm (UTC)no subject
Date: 2015-06-27 01:35 pm (UTC)Если между абзацами есть пустая строка, то делаем так:
1) все двойные пробелы меняем на одинарные,
2) все абзацы меняем на пробелы,
3) все двойные пробелы меняем на абзац.
В результате строки будут срощены. :)
no subject
Date: 2015-06-27 02:57 pm (UTC)Это первая строка. В ней несколько предложений. Целых три.
Это вторая строка, в ней предложение одно предложение, это тоже нормально.
Это третья строка, она не закончена,
потому что эта, четвёртая, строка — её продолжение. Её надо прицепить к третьей, оставив здесь только это предложение.
Это пятая строка, с ней всё хорошо.
no subject
Date: 2015-06-27 09:13 pm (UTC)no subject
Date: 2015-06-27 01:37 pm (UTC)может сделать все, что вы себе даже представить не можете.
no subject
Date: 2015-06-27 02:58 pm (UTC)no subject
Date: 2015-06-27 09:15 pm (UTC)no subject
Date: 2015-06-27 08:54 pm (UTC)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
no subject
Date: 2015-06-27 10:42 pm (UTC)Или можно взять Notepad++ - там есть функция замены и использованием regex.
Я так понимаю, надо включить режим regex и менять "\n([а-я])" на " $1". Но проверять это лень.
no subject
Date: 2015-06-29 03:20 pm (UTC)Но, всё равно, придётся вычитывать результат. Тем более, что выражение не учитывает все возможные заглавные буквы всех алфавитов.
no subject
Date: 2015-06-29 03:13 pm (UTC)