1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
|
1 | |
Подскажите, как разделить текст в ячейке на несколько столбцов (разные разделители)11.06.2017, 18:56. Показов 5095. Ответов 21
Метки нет (Все метки)
Добрый день.
Access. Не могу решить проблему, есть текст в ячейке формата: hster91@gmail.com;apokalipto1;dms78:NeP@82.34.98.147:4001;;;Marko Markovic;25;6;1992;Mozilla/5.0 (Windows NT 6.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0;; Нужно разбить этот текст и внести в определенные столбцы (наверно через VBA). Проблема еще в том, что разделители разные, вначале это ( ; ), а в конце часть текста начиная со слов Mozilla/5.0 и заканчивая Firefox/45.0 - в одну ячейку. Уже весь мозг себе сломал. Что нужно, чтобы получилось (для наглядности создал файл в Excel), в приложении. Заранее спасибо.
0
|
11.06.2017, 18:56 | |
Ответы с готовыми решениями:
21
Разделить текст в ячейке на несколько Как разделить текст в ячейке по символам Как разделить слипшийся текст в ячейке по Заглавным буквам и Числам Как разделить данные из одного столбца в Excel на несколько отдельных столбцов? |
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
|
11.06.2017, 19:08 [ТС] | 2 |
Таких строк более 100, и все они разной длины и разное количество символов (между разделителями)
0
|
Модератор
|
|||||||||||||||||||||||
11.06.2017, 21:08 | 3 | ||||||||||||||||||||||
ексель я практически не вижу
но я предполагаю, что разделитель --это год 1992 в следующем поле может видимо быть не только Мозилла
0
|
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
11.06.2017, 21:31 [ТС] | 4 | ||||||||||||||||||||||||||||||||||||||||||||||||||
1. Да разделитель 1992; (с точкойзапятой). Но год у разных строк -разный.
2. А в следующем поле всегда слово Mozilla Добавлено через 6 минут
0
|
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
|
|
12.06.2017, 11:24 | 5 |
Не понимаю проблемы: до девятого разделителя ";" делишь на отдельные слова, а после девятого весь оставшийся кусок записываешь целиком без разделения. Или я что-то не так понял?
0
|
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
|
12.06.2017, 11:31 [ТС] | 6 |
>>Не понимаю проблемы: до девятого разделителя ";" делишь на отдельные слова, а после девятого весь оставшийся кусок записываешь целиком без разделения. Или я что-то не так понял?
А как с помощью VBA разделить на слова, сможете помочь, прислать код? Я искал в инете и на форума (пробовал с помощью MId и Instr), но не получилось написать рабочий код.
0
|
Модератор
6004 / 2833 / 692
Регистрация: 12.06.2016
Сообщений: 7,594
|
||||||
12.06.2017, 11:47 | 7 | |||||
yam_job,*
1. Выделить последний фрагмент записи. 2. Отсечь этот фрагмент и оставшуюся часть разбить с помощью *Split. 3. Сформировать новую запись в результирующей таблице.
Могут быть погрешности. Может, пока пишу, уже дали ответ....
1
|
17486 / 7248 / 1651
Регистрация: 21.06.2012
Сообщений: 13,863
|
|
12.06.2017, 11:48 | 8 |
Смотрите функцию Split. Она поместит слова в массив строк, этот массив и обрабатывайте (пока начало слова не Mozilla/5.0, просто переносите в другой рабочий, а при появлении с началом Mozilla/5.0 весь "хвост" склеиваете).
0
|
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
|
||||||
12.06.2017, 12:45 | 9 | |||||
Вот оформил как отдельную программу с выводом на экран.
0
|
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
||||||
12.06.2017, 14:14 [ТС] | 10 | |||||
Capi*
Первую запись он нормально добавляет, а когда начинает обрабатывать вторую строку, то пишет ошибку: Число значений запроса и назначения полей не совпадают; 2. Дополнительный вопрос: У меня в некоторых строчках есть значения после Mozilla/5.0 (Windows NT 6.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0, разделенные ";", думал сам смогу разобраться, как дальше отделить в отдельные столбцы последующие значения, но не могу понять, нужен совет. Пример некоторых строчек: -misn2001@yahoo.com;FdMGaeB;dms78:Ne@54.214.64.94:4002;;;Addison Thompson;13;12;1980;Mozilla/5.0 (Windows NT 6.0; WOW32; rv:46.0) Gecko/20100101 Firefox/46.0;1;21 -mark2694@yahoo.com;YwEdwO;dms78:Ne@35.182.226.36:4002;;;Ava Baker;6;7;1983;Mozilla/5.0 (Windows NT 10.0; WOW32; rv:48.0) Gecko/20100101 Firefox/48.0;12;7
0
|
17486 / 7248 / 1651
Регистрация: 21.06.2012
Сообщений: 13,863
|
|
12.06.2017, 14:50 | 11 |
А где ее обработка? Next что? Наверное нужно Next i, да и в цикле обработки записей набора данных Rst нет Rst.MoveNext (зациклится программа).
0
|
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
||||||
12.06.2017, 15:13 [ТС] | 12 | |||||
2. Сможете помочь по второму вопросу: У меня в некоторых строчках есть значения после Mozilla/5.0 (Windows NT 6.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0, разделенные ";", думал сам смогу разобраться, как дальше отделить в отдельные столбцы последующие значения, но не могу понять, нужен совет. Пример некоторых строчек: -misn2001@yahoo.com;FdMGaeB;dms78:Ne@54.214.64.94:4002;;;Addison Thompson;13;12;1980;Mozilla/5.0 (Windows NT 6.0; WOW32; rv:46.0) Gecko/20100101 Firefox/46.0;1;21 -mark2694@yahoo.com;YwEdwO;dms78:Ne@35.182.226.36:4002;;;Ava Baker;6;7;1983;Mozilla/5.0 (Windows NT 10.0; WOW32; rv:48.0) Gecko/20100101 Firefox/48.0;12;7
0
|
Модератор
6004 / 2833 / 692
Регистрация: 12.06.2016
Сообщений: 7,594
|
|
12.06.2017, 15:17 | 13 |
Сообщение от ltv_1953
Сообщение от ltv_1953
Говорю же, пишу с планшета через мобильный интернет.... Хотя это слабое оправдание, конечно. Тут еще цитирование дико затруднено (не всплывают желтые надписи), приходится практически вручную набирать. Что касается вопроса ТС. yam_job, Нужно анализировать входные данные. Формализовать их и привести к единому стандарту.. В первых примерах наблюдается десять полей, как и в принимающем файле, а в двух новых примерах полей уже больше. И про спасибо не забывайте.
0
|
Модератор
|
||||||
12.06.2017, 15:18 | 14 | |||||
--затем выделение и копирование --затем вставка на форум в теги
0
|
Модератор
6004 / 2833 / 692
Регистрация: 12.06.2016
Сообщений: 7,594
|
|
12.06.2017, 15:22 | 15 |
shanemac51,
Это кому и зачем????
0
|
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
|
12.06.2017, 15:23 [ТС] | 16 |
У меня некоторые строчки заканчиваются на 10 поле (типа):
hster91@gmail.com;apokalipto1;dms78:NeP@82.34.98.147:4001;;;Marko Markovic;25;6;1992;Mozilla/5.0 (Windows NT 6.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0 А есть некоторые строчки с 12 полями (типа): misn2001@yahoo.com;FdMGaeB;dms78:Ne@54.214.64.94:4002;;;Addison Thompson;13;12;1980;Mozilla/5.0 (Windows NT 6.0; WOW32; rv:46.0) Gecko/20100101 Firefox/46.0;1;21 Думаю, может там где в строчке 10 полей, с помощью кода в последние ячейки будут вставляться пустые значения, а где 12 полей, то будут вставляться значения в поля, так можно сделать? Добавлено через 25 секунд Исправил
0
|
Модератор
6004 / 2833 / 692
Регистрация: 12.06.2016
Сообщений: 7,594
|
|
12.06.2017, 15:30 | 17 |
yam_job,
Вежливые люди обычно благодарят за помощь.
0
|
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
|
12.06.2017, 15:41 [ТС] | 18 |
Capi*
Спасибо, я там кнопочку нажал) Добавлено через 10 минут Если нужно привести к какому-то одному виду, то мне нужно разбить эту строчку с 12 полями: (т.е. как то ещё два поля в конце отделить) misn2001@yahoo.com;FdMGaeB;dms78:Ne@54.214.64.94:4002;;;Addison Thompson;13;12;1980;Mozilla/5.0 (Windows NT 6.0; WOW32; rv:46.0) Gecko/20100101 Firefox/46.0;1;21
0
|
Модератор
6004 / 2833 / 692
Регистрация: 12.06.2016
Сообщений: 7,594
|
||||||
12.06.2017, 15:52 | 19 | |||||
Примерно так:
Сами попробуйте. Я уже замучалась набирать пальцами по памяти.
1
|
1 / 1 / 0
Регистрация: 22.07.2014
Сообщений: 43
|
||||||
12.06.2017, 18:01 [ТС] | 20 | |||||
Еще раз спасибо Capi, получился готовый код:
Mozilla/5.0 (Windows NT 6.0; WOW32; rv:46.0) Gecko/20100101 Firefox/46.0;1;21 Mozilla/5.0 (Windows NT 10.0; WOW32; rv:48.0) Gecko/20100101 Firefox/48.0;;
0
|
12.06.2017, 18:01 | |
12.06.2017, 18:01 | |
Помогаю со студенческими работами здесь
20
Подскажите, как разделить код на несколько файлов Как разделить строку на разделители используя StringBuffer? Необходимо разделить текст в ячейке на две. Граница vbCrLf Разделить запрос на несколько столбцов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |