gpt4 book ai didi

VBA:匹配多个字符串

转载 作者:行者123 更新时间:2023-12-04 20:35:22 25 4
gpt4 key购买 nike

我的问题最好理解为以下示例,我的目标是如果以下字符串与这些类别中定义的任何一个字符串匹配,则将其归类到类别中。例如,

dim test_str as string

test_str = "tomato"

如果测试字符串 tomato 与关键字 (1) potato、(2) tomato 和 (3) spaghetti,则tomato将被归类为食物。

我现在有一种非常低效的方法,它涉及使用多个 strcomp,即

if(strcomp(test_str, "potato", vbtextcompare) = 0 or _
strcomp(test_str, "tomato", vbtextcompare) =0 or _
strcomp(test_str, "spaghetti", vbtextcompare)=0 ) then
'label test str as "food"

但是,如果我在“食物”中定义了 10 个关键字,那么我将需要 10 个 strcomp 语句,这会很乏味。有更好的方法吗?

最佳答案

我会简单地将所有组合存储在一个字符串中,并使用 InStr 检查该值是否存在:

Const food = "|potato|tomato|spaghetti|"

Dim test_str As String
test_str = "tomato"

If InStr(1, food, "|" & test_str & "|", vbTextCompare) Then
Debug.Print "food"
Else
Debug.Print "not food"
End If

关于VBA:匹配多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37528229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com