如何忽略 range.find 函数中的通配符

发布于 2024-10-22 23:03:02 字数 373 浏览 1 评论 0原文

是否可以在 range.find 函数中将通配符视为普通字符。

我正在搜索字符串匹配列表,但遇到了问题,因为某些字符串包含通配符。 示例:

列表:
ab
CDE
fghi
jk
?l

r = list.range.find(s, LookAt:=xlWhole)

如果 s = "??"这将导致 r 等于“ab”
我想要的“??”在哪里?被视为普通字符串,仅匹配字符串“??”
如果 s = "?l" 我希望 r 等于“?l”而不是“ab”

Is it possible to treat wildcards as normal chars in the range.find function.

I am searching through a list for string matches, but am running into issues, as some of the strings contain wild cards.
Example:

List:
ab
cde
fghi
jk
?l

r = list.range.find(s, LookAt:=xlWhole)

if s = "??" this would result in r equalling "ab"
Where as I want "??" to be treated like a normal string that would only match a string of "??"
If s = "?l" I would want r to equal "?l" not "ab"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绝不放开 2024-10-29 23:03:02

使用~,即~?

对于您的 ?l,它是 ~?l

一般解决方案:

s = Application.WorksheetFunction.Substitute(s, "?", "~?")

Use a ~, i.e ~?.

For your ?l, it is ~?l.

General solution:

s = Application.WorksheetFunction.Substitute(s, "?", "~?")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文