Например, при изучении документа, который является романом или художественной литературой, я задаюсь вопросом, смогу ли я получить все диалоги? Потому что они имеют одинаковый формат, например, «Какой хороший день!» и «Привет!», которые ограничены двумя кавычками.
решение1
Для автоматизации процесса можно использовать VBA.
- Откройте документ.
- Нажмите Alt+F11, чтобы открыть редактор VBA.
- Скопируйте и вставьте код ниже.
- С курсором внутри кода нажмите F5, чтобы запустить его. Откроется новое окно с извлеченными диалогами.
Sub GetDialogues()
Dim coll As New Collection
Dim regEx As RegExp
Dim allMatches As MatchCollection
Set regEx = New RegExp
With regEx
.IgnoreCase = False
.MultiLine = True
.Global = True 'Look for all matches
.Pattern = """.+?""" 'Pattern to look for
End With
Set allMatches = regEx.Execute(ActiveDocument.Content.Text)
For Each Item In allMatches
coll.Add Item 'Add found items to the collection
Next Item
Dim newdoc As Document
Set newdoc = Documents.Add 'Add a new Word document
newdoc.Activate 'Activate the document
For Each Item In coll
newdoc.Content.Text = newdoc.Content.Text + Item 'Add each item (quote) to the document
Next Item
newdoc.SaveAs FileName:="test.txt", Fileformat:=wdFormatPlainText 'Save the document as plain text
End Sub