Страницы: 1
RSS
VBA. Извлечение текста между известными символами
 
Добрый вечер.  
Вопрос простой, но решение сложноватое.  
Как можно быстро извлечь текст, находящийся в String между символами ">" и "<"?  
Например:  
String = "    <data>18</data>"    
результат = 18  
 
Мой алгоритм: поиск позиций символов ">" и "<" и с помощью mid(...) извлекаю. Долго и длинно.  
Есть ли функция/алгоритм проще?  
Спасибо.
 
Может через замену?  
Replace What:="<*>", Replacement:=""
 
Split(Split("<data>18</data>", "<")(1), ">")(1)
 
?  
Public Function www$(s$)  
www = Split(Split(s, ">")(1), "<")(0)  
End Function
Я сам - дурнее всякого примера! ...
 
Спасибо большое, молодые люди! )
 
А так не быстрее будет?  
strNew=Replace(strOld, "<*>", "")
 
Диана, идите к нам, а то все макросы да макросы :)  
 
=ПСТР(A1;ПОИСК(">";A1)+1;ПОИСК("<";A1)-ПОИСК(">";A1)-1)
 
{quote}{login=The_Prist}{date=13.12.2011 02:34}{thema=}{post}От себя добавлю(просто в качестве инфо): конструкция Mid в паре с InStr хоть и нудная и длинная, но работать будет быстрее чем Split{/post}{/quote}  
Склонен согласиться, по крайней мере у меня на машине применительно к js.  
 
Только вчера тестил:  
1. js: Split/Pop; vba: Split  
2. js: lastIndexOf/substring; vba: InStr/Mid  
 
Хотя пример достаточно специфический...  
http://javascript.ru/forum/misc/23941-izvlech-iz-ssylki-chislo-2.html
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
InStr/Mid эт дело на том примере, кот. я разбирал, даже RegExp по времени обошло ^_^
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Еще раз спасибо всем за оказанную помощь! :)
Страницы: 1
Читают тему
Loading...