Добрый день! Прошу вашей помощи, в который раз . Как-то Саша помог решить много задач, предоставив интересное решение в теме. Теперь задача похожая. Необходимо извлечь код специальности из текста. Как решить данную задачу наиболее проще, оптимальнее? Код специальности представляет собой набор цифр, разделенных точками. Как это использовать при поиске?
Добрый день! Прошу вашей помощи, в который раз . Как-то Саша помог решить много задач, предоставив интересное решение в теме. Теперь задача похожая. Необходимо извлечь код специальности из текста. Как решить данную задачу наиболее проще, оптимальнее? Код специальности представляет собой набор цифр, разделенных точками. Как это использовать при поиске?Мурад
Nic70y, _Boroda_, vikttur, очень интересные решения! Браво! Но применительно к моей задаче самое простое, понятное для изучения, и быстрое в вычислительном плане решение предоставил vikttur. Благодарю!
Nic70y, _Boroda_, vikttur, очень интересные решения! Браво! Но применительно к моей задаче самое простое, понятное для изучения, и быстрое в вычислительном плане решение предоставил vikttur. Благодарю!Мурад
Я писал формулу по показанным данным: номер формата хх.хх.хх или хххххх.хх, номер обязательно в скобках. Если код специальности может иметь другой формат, покажите. Например, при отсутствии скобок не поможет и монстр
Я писал формулу по показанным данным: номер формата хх.хх.хх или хххххх.хх, номер обязательно в скобках. Если код специальности может иметь другой формат, покажите. Например, при отсутствии скобок не поможет и монстр vikttur
Сообщение отредактировал vikttur - Среда, 15.07.2015, 22:50
Мурад, нужно было еще в 1 посте уточнить, что код состоит из фиксированного количества цифр (6+2 или 2+2+2) разделенных точками, да и в названиях специальностей и направлений чисел не встречается [p.s.]Мурад, посмотри аттач, вдруг пригодится [/p.s.]
Мурад, нужно было еще в 1 посте уточнить, что код состоит из фиксированного количества цифр (6+2 или 2+2+2) разделенных точками, да и в названиях специальностей и направлений чисел не встречается [p.s.]Мурад, посмотри аттач, вдруг пригодится [/p.s.]krosav4ig
krosav4ig, спасибо! Действительно, код специальности в образовательных учреждениях состоит из формата xxxxxx.xx и xx.xx.xx, но чтобы не размножать темы, решил задать общий вопрос. Как выдергивать цифры (ну и символы непосредственно между цифрами) в порядке чтения слева направо. Тему специально назвал "Извлечение данных числового формата из текста", чтобы натолкнуть вас на универсальное решение этого вопроса. К примеру, из текста "выалповарлпо172.63.182.368.34343434алолаоыловат" вытащить "172.63.182.368.34343434". Если вдруг нужно вытащить IP адрес из текстовой строки, ну и так далее. В соответствии с примером все решения верны. Поэтому вы сработали отлично
krosav4ig, спасибо! Действительно, код специальности в образовательных учреждениях состоит из формата xxxxxx.xx и xx.xx.xx, но чтобы не размножать темы, решил задать общий вопрос. Как выдергивать цифры (ну и символы непосредственно между цифрами) в порядке чтения слева направо. Тему специально назвал "Извлечение данных числового формата из текста", чтобы натолкнуть вас на универсальное решение этого вопроса. К примеру, из текста "выалповарлпо172.63.182.368.34343434алолаоыловат" вытащить "172.63.182.368.34343434". Если вдруг нужно вытащить IP адрес из текстовой строки, ну и так далее. В соответствии с примером все решения верны. Поэтому вы сработали отлично Мурад
К примеру, чтобы не зависеть от размеров числовых данных в текстовой строке использовать кодировку ASCII, где цифрам от 0 до 9 присвоен код от 48 до 57, ну и у точки тоже есть свой код. Можно ли это использовать, не знаю
К примеру, чтобы не зависеть от размеров числовых данных в текстовой строке использовать кодировку ASCII, где цифрам от 0 до 9 присвоен код от 48 до 57, ну и у точки тоже есть свой код. Можно ли это использовать, не знаю Мурад
Мурад, Вы меня разозлили - давайте без обид, но если еще раз вот так "чтобы не размножать темы" от Вас будет вопрос без четкого описания того, что, откуда, куда и по каким условиям нужно и если еще хоть кто-нибудь в Ваших темах напишет что-то типа "нужно было еще в 1 посте уточнить", то я буду лепить Вам замечания. Причину, уж поверьте, я найду - было бы желание. Вы достаточно грамотный человек, чтобы уметь нормально формулировать свои мысли и достаточно умный, чтобы понимать, что решения некоторых задач занимает довольно много времени, которое многие из нас потратили бы с гораздо большей пользой, чем на ненужные Вам решения Ваших некорректно сформулированных задач. Если бы у Вас были сложности со связным изложением своих мыслей или было не 240 сообщений, а 5 - я бы к этому отнесся нормально, а так - извините, я предупредил.
Мурад, Вы меня разозлили - давайте без обид, но если еще раз вот так "чтобы не размножать темы" от Вас будет вопрос без четкого описания того, что, откуда, куда и по каким условиям нужно и если еще хоть кто-нибудь в Ваших темах напишет что-то типа "нужно было еще в 1 посте уточнить", то я буду лепить Вам замечания. Причину, уж поверьте, я найду - было бы желание. Вы достаточно грамотный человек, чтобы уметь нормально формулировать свои мысли и достаточно умный, чтобы понимать, что решения некоторых задач занимает довольно много времени, которое многие из нас потратили бы с гораздо большей пользой, чем на ненужные Вам решения Ваших некорректно сформулированных задач. Если бы у Вас были сложности со связным изложением своих мыслей или было не 240 сообщений, а 5 - я бы к этому отнесся нормально, а так - извините, я предупредил._Boroda_
Function GetSpec(S As String) As String Dim arr arr = Split(Application.WorksheetFunction.Trim(Replace(Replace(S, "(", ""), ")", ""))) For Each a In arr If a Like "#*" Then GetSpec = a Exit Function End If Next a End Function
[/vba]
Мне кажется, проще будет UDF [vba]
Код
Function GetSpec(S As String) As String Dim arr arr = Split(Application.WorksheetFunction.Trim(Replace(Replace(S, "(", ""), ")", ""))) For Each a In arr If a Like "#*" Then GetSpec = a Exit Function End If Next a End Function