求助 文本转表达式
vb吧
全部回复
仅看楼主
level 1
有文本
str="张三<>张三 or 张三 = 李四"
用什么方法可以让str根据文本里面的内容,转变成true或者false
2023年07月29日 08点07分 1
level 3
你这个赋值方法不对
2023年07月30日 17点07分 2
不是不对,是你没看明白
2023年07月30日 20点07分
这个是没什么问题的,只是确实没有找到好的转化方法。目前只能转化部分
2024年01月15日 01点01分
level 1
str1="张三=李四"
str2="张三<>张三"
dim js as object
set js =createobject("scriptcontrol")
js.language="jscript"
js.addcode_
"张三='张三',李四='李四'"
用js.eval(str1)可以得出想要结果false。
但用js.eval(str2)就显示错误。
2023年07月31日 02点07分 4
level 1
我现在用的一种方法是把str里面的符号放到一个数组里arr,再把str里面的文字放到一个数组里brr,比如str="a+b<>c",arr数组就包含"+"以及"<>",brr数组包含a,b,c三个元素。然后通过arr数组知道有什么符号,最后用select case根据符号把"a+b<>c"变成"a"+"b"<>"c"这种形式。但感觉有点麻烦,不知道有没有什么好点的办法。
2023年07月31日 02点07分 5
level 9
我觉得还是把各部分值组合赋给字符串,最后比较字符串保险,也不是很麻烦。
2024年01月15日 05点01分 7
那符号要处理?有好多种符号呢,反正我用了最原始的办法,分类列举。但层级不能太多
2024年01月15日 07点01分
@跟着南哥混3天饿9顿 多种符号也可以,定义个符号数组,然后循环检测,找到了就认为是符号,split,分别赋值到各个分段,最后再连接成字符串。
2024年01月16日 01点01分
@klimaa 这些我早都已经做好了。那些符号我早就提取到符号数组了。这些都不难,关键点是你说的符号,怎么按你说的用变量代替啊?
2024年01月16日 04点01分
那最后连起来还不是字符串?
2024年01月16日 04点01分
level 13
str1 = "张三!=张三 || 张三==李四"
这样试试,js应该这样吧,==等于VB的=,!=等于VB的<>
2024年01月15日 08点01分 9
| | 等于VB的Or,和C++的运算符一样
2024年01月15日 08点01分
试过了,开始只用等号。应该是中文文本不太适用。要是数字文本就没问题
2024年01月15日 09点01分
@跟着南哥混3天饿9顿 英文文本怎么样?要是可以的话,那是中文字符没处理好。
2024年01月16日 01点01分
@klimaa 纯数字加符号的文本是可以的,所以我突然间感觉应该想到办法了
2024年01月16日 04点01分
1