1

Тема: AHK: выборка отдельно чисел и слов из строк и подходящая структура

Добрый день!
Задача: В Excel даны пары строк. Каждая пара состоит из двух предложений (левый и правый столбец). Каждое предложение содержит слова, числа, знаки пунктуации и др. символы. Вытащить из каждой пары строк отдельно числа и отдельно слова. А затем в разрезе одной пары строк сравнить на совпадение слова и числа в двух предложениях.
Вопрос: Какая структура данных будет наиболее эффективна для реализации данной задачи?

Мой вариант:


;массив строк в левом столбце:
Arr1 := []							

Arr1[strNum] := []					;strNum - индекс пары
Arr1[strNum]["numbs"] := []			;здесь будем хранить массив чисел
Arr1[strNum]["words"] := []			;здесь будем хранить массив слов

Arr1[strNum]["numbs"][nNum] := []				;nNum - индекс элемента типа "числа"
Arr1[strNum]["numbs"][nNum]["value"] := "56"	;ассоциативный элемент "value" будет хранить значение изъятого из предложения числа (56 - лишь пример числа)
Arr1[strNum]["numbs"][nNum]["found"] := true	;ассоциативный элемент "found" будет хранить признак совпадения данного элемента в другом предложении 

Arr1[strNum]["words"][wNum] := []					;wNum - индекс элемента типа "слова"
Arr1[strNum]["words"][wNum]["value"] := "москва"	;ассоциативный элемент "value" будет хранить значение изъятого из предложения слова
Arr1[strNum]["words"][wNum]["found"] := false		;ассоциативный элемент "found" будет хранить признак совпадения данного элемента в другом предложении


;массив строк в правом столбце:
Arr2 := []
...				;все то же самое

Как-то так. Но почему-то мне кажется такая структура слишком сложной. Я лишь новичок в autohotkey. Может быть есть более простой вариант реализации данной задачи?
Заранее благодарен за советы!

2

Re: AHK: выборка отдельно чисел и слов из строк и подходящая структура

Не помешал бы пример. Типа:
арбуз груша Вася Федя | Федя груша арбуз Вася          <----- совпадение
арбуз груша Вася Федя | арбуз Вася Федя груша          <----- совпадение
арбуз груша Вася Федя | Федя груша лимон Вася          <----- не совпадение

3 (изменено: pavel.garshin.01, 2022-06-04 18:06:31)

Re: AHK: выборка отдельно чисел и слов из строк и подходящая структура

ypppu, на самом деле я планирую каждое слово и число поместить в отдельную ячейку. И если у слова/номера есть совпадение в другом предложении - выделить ячейку зеленым, если же нет совпадения - выделить красным. Поэтому я и думаю для каждого элемента из строки создать элемент признака совпадения в др. преложении ("found").
Выглядеть это будет приблизительно так, как во вложении (вложил файл).

Post's attachments

Адреса.xlsx 9.43 kb, 5 downloads since 2022-06-04 

You don't have the permssions to download the attachments of this post.

4

Re: AHK: выборка отдельно чисел и слов из строк и подходящая структура

В общем говоря, Вам нужно сопоставить два массива данных и различия выделить цветом.

5

Re: AHK: выборка отдельно чисел и слов из строк и подходящая структура

ypppu все верно. Но меня немного пугает такая громоздкая конструкция как массив в массиве и еще раз в массиве и тд. Я новичок, но мне говорили, что в программировании чем проще, тем лучше. Вот я и думаю что можно изменить.

6

Re: AHK: выборка отдельно чисел и слов из строк и подходящая структура

Мне как-то приходилось делать массив в массиве в массиве. В общем-то всё реально, но нужно изучать-разбираться-понимать. Если есть желание - вот перевод. Если мало времени/желания, но много денег, можете заказать платное решение в соответствующем разделе форума, думаю найдутся желающие написать готовый скрипт.


Русский перевод RegEx

Опции RegEx


Русский перевод RegExMatch
http://forum.script-coding.com/extensions/pun_attachment/img/zip.gifRegExMatch.zip


Русский перевод RegExReplace
http://forum.script-coding.com/extensions/pun_attachment/img/zip.gifRegExMatch.zip