在两个字符之间存储字符串的值

时间:2018-05-02 20:07:04

标签: excel vba excel-vba

我正在搜索在字符串中存储两个字符之间的值的方法。例如:"我喜欢苹果(因为我不喜欢梨)。"。

我怎么能得到"因为我不喜欢梨"并将其存储在变量中? 有没有办法在括号之间获取所有文本?

感谢您花时间阅读本文!

2 个答案:

答案 0 :(得分:1)

尝试,

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

嵌套的Split(split(str, ")")(0))将字符串转换为带有两个元素的基于零的数组;例如I like apples (because I don't like pears.并返回其中的第一个。

包装拆分(split(xxx, "(")(1))将返回转换为另一个带有两个元素的从零开始的数组;例如I like applesbecause I don't like pears并返回第二个。

答案 1 :(得分:0)

感谢您的帮助! 对于任何有同样挑战的人,我认为我找到了最简单的解决方案。

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 会返回该值的数字,在这种情况下为#34;("找到。 Mid 函数可以得到值从x个字符数量开始的特定数字的字符串。

再次感谢大家的帮助!