Сохранить значение строки между двумя символами - PullRequest
0 голосов
/ 02 мая 2018

Я ищу способ сохранить значение между двумя символами в строке. Например, строка вроде «Я люблю яблоки (потому что я не люблю груши)».

Как бы я мог получить "потому что я не люблю груши" и сохранить это в переменной? Есть ли способ получить весь текст в скобках?

Спасибо, что нашли время, чтобы прочитать это!

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

спасибо за вашу помощь! Я думаю, что для любого, кто сталкивается с такой же проблемой, я нашел простейшее решение.

Sub gettextbetween()
Dim text As String

text = "I like apples (because I don't like pears)."
MsgBox Mid(text, InStr(1, text, "("), InStr(1, text, ")") - InStr(1, text, "(") + 1)

End Sub

InStr возвращает число, при котором найдено значение, в этом случае "(". Функция Mid может получить значение строки, начинающейся с определенного числа для х количество символов.

Еще раз спасибо всем за помощь!

0 голосов
/ 02 мая 2018

Попробуйте,

dim str as string
str = "I like apples (because I don't like pears)."
str = split(split(str, ")")(0), "(")(1)
debug.print str

Вложенный разделитель (split(str, ")")(0)) преобразует строку в массив с нулями с двумя элементами; например I like apples (because I don't like pears и . и возвращает первое из них.

Обтекание Split (split(xxx, "(")(1)) преобразует возврат в другой массив с нулями с двумя элементами; например I like apples и because I don't like pears и возвращает второе.

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