|
Как продуктивнее сравнить колонки построчно между собой | ☑ | ||
---|---|---|---|---|
0
nodrama
15.03.22
✎
17:02
|
Доброго времени суток...
Есть ТЧ..в ней есть две колонки (ну их больше, но это не важно) 1-ая колонка 1-ая строка допустим Антон;Андрей;Олег 2-ая колонка 1-ая строка допустим Кирилл;Ольга;Антон слова между в строке разделены для удобства знаком ; нужно сравнить построчно, то есть 1-ую строку 1-ой колонки, с 1-ой строкой 2-ой колонки. Если в них содержится хотя бы одно одинаковое слово, не важно в каком месте строки, Антон может быть в первой колонки первый, во второй колонки 3-ий, то следовательно выделять эту строку, ну с выделением ясно. Количество слов в этих строках может быть разное хоть одно, хоть 5-ь. |
|||
1
Вафель
15.03.22
✎
17:05
|
СтрРазделить и СтрНайти
|
|||
2
nodrama
15.03.22
✎
17:05
|
Первое что приходит на ум, это тупо перебором, берем первую колонку за основу
разделяем строку по знаку ;. добавляем все значения в массив Далее берем строку во второй колонки и ищем входит ли какое то слово в строку этой колонки. Но мне кажется если будет 10.000 строк, то это будет совсем не продуктивно.. может есть более адекватный способ? |
|||
3
Fragster
гуру
15.03.22
✎
17:05
|
(1) во-1-вых не стрНайти, а просто Найти.
|
|||
4
nodrama
15.03.22
✎
17:06
|
(1) (3) Так я во 2-ом сообщении уже это и сам написал ;)
Просто мне кажется если будет тысячи строк то это будет очень долго.... я тестирую на 5-и всего... реального количество нету под рукой |
|||
5
Fragster
гуру
15.03.22
✎
17:07
|
(4) во-2-торых какая задача, такое и решение
|
|||
7
nodrama
15.03.22
✎
17:08
|
(5) Дело не в задачи... ситуация заставила ;) так то понятно что бред )
|
|||
8
nodrama
15.03.22
✎
17:08
|
(6) а если попилить обе строки, то разве поиск далее будет быстрее?
|
|||
9
Fragster
гуру
15.03.22
✎
17:09
|
в-3-ретьих можно 2-бе строки попилить
|
|||
10
Fragster
гуру
15.03.22
✎
17:09
|
(8) проверь
|
|||
11
PuhUfa
15.03.22
✎
17:10
|
А откуда такая ТЧ? А то может лучше это делать еще на стадии ее заполнения
|
|||
12
Вафель
15.03.22
✎
17:10
|
(3) А чем Найти лучше чем СтрНайти?
|
|||
13
Kassern
15.03.22
✎
17:10
|
(0) а если будет к примеру:
1) Алена, Виктория, Саша 2) Ален, Виктор, Александр Что должно произойти?) Если будете тупо поиск использовать по части строки, то не факт, что выдаст то, что вам нужно. |
|||
14
nodrama
15.03.22
✎
17:11
|
(13) В этом случаи ни чего не должно найти. Только полное совпадение надо
|
|||
15
acht
15.03.22
✎
17:11
|
(2)
Для Каждого Слово Из СтрРазделить(ПерваяСтрока, ";") Цикл Если Найти(Слово + ";", ВтораяСтрока + ";") Тогда // Есть КонецЕсли; КонецЦикла; |
|||
16
nodrama
15.03.22
✎
17:11
|
То есть если Алена а во второй Ален.. то ни чего
Только если Алена Алена |
|||
17
Kassern
15.03.22
✎
17:12
|
(16) тогда тупо стрНайти одной из частей вам не подойдет
|
|||
18
Fragster
гуру
15.03.22
✎
17:13
|
(12) Найти бывает не только у строки, но и у массива
|
|||
19
Вафель
15.03.22
✎
17:13
|
(17) это почему же?
нужно искать ";" + слово1 + ";" |
|||
20
Kassern
15.03.22
✎
17:13
|
(15) (19) ключевое слово "тупо" )
|
|||
21
nodrama
15.03.22
✎
17:15
|
Собственно, варианты вроде рабочие.. только на 5-и строках, все работает моментально)) интересно какой будет быстрее если строк 10.000. но под рукой пока не ту их (
|
|||
22
Fragster
гуру
15.03.22
✎
17:15
|
(21) 10сяти 000-ач
|
|||
23
nodrama
15.03.22
✎
17:15
|
Благодарствую за подсказки
|
|||
24
Kassern
15.03.22
✎
17:15
|
(21) массивом задублируйте ваши 5 строк до нужного количества и протестируйте, делов то)
|
|||
25
nodrama
15.03.22
✎
17:17
|
(24) Так не выйдет же.. там количество слов то разное...)))
там может быть Олег Антон А может быть Антон Олег Кирил Марфа, Лапта, Туалет Антон Анастасия Я образно )) |
|||
26
nodrama
15.03.22
✎
17:17
|
в одной строке 1 слово, в другой 5
либо в одной строке 6, в другой 6 Либо в одной 1 в другой 0 и так рандомно грубо говоря)) так что зациклить массивом не показатель) |
|||
27
Смотрящий
15.03.22
✎
17:21
|
(11) Чукча не читатель )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |