【发布时间】:2021-03-19 13:11:50
【问题描述】:
所以,我从 Excel 中的单元格中获取文本,然后在该文本中搜索特定短语。现在,只有当它是完全匹配的单词时,我才需要返回 true。 例如如果文本是“The Quick brown fox jumped over the lazy dog”并且我正在搜索“Qui”,它应该返回 false,但如果我搜索“Quick”,它应该返回 true。 同样,“brown Quick”应该返回 false,“Quick brown”应该返回 true。
所以,我尝试在 VBA 中使用正则表达式并提出了
With regex
.Pattern = " *" & search & " *"
End With
使用此代码我无法生成所需的输出。我需要检查搜索短语之前的字符是空格还是什么都没有,搜索短语末尾的字符也是空格还是什么都没有。请帮助我。
【问题讨论】:
-
您也可以只使用
Like运算符,例如:Debug.Print str Like "* " & search Or str Like search & " *" Or str Like "* " & search & " *"其中str是要评估的字符串。 -
我试过这个
Debug.Print (text Like "* " & search & " *"),它在要评估的文本开头或结尾的搜索短语失败。 -
这取决于您用作
text变量的内容。如果我是你,我会在声明变量时连接前导空格和尾随空格。在这种情况下,Like将按预期执行。这意味着您还可以摆脱所有Or语句。
标签: excel regex vba search vba6