vba 如何把字符串转化为逻辑表达式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba 如何把字符串转化为逻辑表达式?相关的知识,希望对你有一定的参考价值。

比如:str=“8<6” 这是一个字符串 ,我想用if去判断,不可能写成 if str是吧 ,因为str是字符串,不是逻辑表达式, 用什么函数转化一下把 str转成逻辑表达式 比如 if function(str) ,用某函数 比如 function(str) 直接把字符串转化为表达式!

Public Sub Test()

    Dim str As String

    str = "8<6"

    If Application.Evaluate(str) Then

       MsgBox Chr(34) & str & Chr(34) & " 条件成立!"

    Else

       MsgBox Chr(34) & str & Chr(34) & " 条件不成立!"

    End If

End Sub


参考技术A VB好像没有这样的原生函数可以用,当然,不排除鄙人才疏学浅。

如果仅仅像你给出的这种“8<6”,这是比较简单的,先用instr函数定位符号的位置,然后用left、right函数,配合len函数,拆分出符号左右的数字,根据符号的不同,做出相应的比较判断即可

如果表达式非常复杂,比如包含多层的括号,这个就比较麻烦了,当然,实现是完全没问题的。如果你现在不具备这种能力的话,可以网上下载一些类似计算器这种的源码参考一下

java中怎么把字符串转化为字符串数组?

split() 方法用于把一个字符串分割成字符串数组。

具体学习资料如下:

    定义和用法:split() 方法用于把一个字符串分割成字符串数组。

    语法:stringObject.split(separator,howmany)

    参数:

    separator为必需。字符串或正则表达式,从该参数指定的地方分割 stringObject;

    howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

    返回值:但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括separator 自身。

    提示和注释:

    如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

    String.split() 执行的操作与 Array.join 执行的操作是相反的。

    示例:

例子 1

在本例中,我们将按照不同的方式来分割字符串:

<script type="text/javascript">

var str="How are you doing today?"

document.write(str.split(" ") + "<br />")

document.write(str.split("") + "<br />")

document.write(str.split(" ",3))

</script>

输出:

How,are,you,doing,today?

H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?

How,are,you

例子 2

在本例中,我们将分割结构更为复杂的字符串:

"2:3:4:5".split(":")   //将返回["2", "3", "4", "5"]

"|a|b|c".split("|")  //将返回["", "a", "b", "c"]

例子 3

使用下面的代码,可以把句子分割成单词:

var words = sentence.split(' ')

或者使用正则表达式作为 separator:

var words = sentence.split(/\\s+/)

例子 4

如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:

"hello".split("")        //可返回 ["h", "e", "l", "l", "o"]

若只需要返回一部分字符,请使用 howmany 参数:

"hello".split("", 3)   //可返回 ["h", "e", "l"]

参考资料

将字符串转化为字符串数组.CSDN博客[引用时间2017-12-28]

参考技术A 在JAVA中,String类定义了toCharArray() 方法把这个字符串转换成一个新的字符数组.
以下是声明java.lang.String.toCharArray()方法

public char[] toCharArray()

调用示例代码如下:
String strStringType="my string"; //创建一个字符串变量strStringTypechar[] chrCharArray; //创建一个字符数组chrCharArraychrCharArray = strStringType.toCharArray(); //将字符串变量转换为字符数组
参考技术B String s = "abcdefg";
char[] c = s.toCharArray();//字符串转化成字符数组自带的方法
for(char cc : c) //利用foreach循环将字符数组遍历出来
System.out.print(cc+" ");
参考技术C 这个要看你的具体需求了.如果是有分隔符的那种例如"a,b,c";就直接分割就行了.
String string = "a,b,c";
String [] stringArr= string.split(","); //注意分隔符是需要转译滴...
如果是"abc"这种字符串,就直接
String string = "abc" ;
char [] stringArr = string.toCharArray(); //注意返回值是char数组
如果要返回byte数组就直接使用getBytes方法就ok了~~
String string = "abc" ;
byte [] stringArr = string.getBytes();

希望可以帮到你....本回答被提问者和网友采纳
参考技术D 循环串 stringBuffer+ 在 tostring

貌似 string 的构造方法有
jdk 1.6 原话 贴上来
String(char[] value)
分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。
char data[] = 'a', 'b', 'c';
String str = new String(data);

以上是关于vba 如何把字符串转化为逻辑表达式?的主要内容,如果未能解决你的问题,请参考以下文章

java 验证逻辑表达式格式的字符串的合法性

Multisim 之逻辑转换仪

mysql 运算符

javaScript 中的布尔运算符 && 和 ||

C++逻辑表达式运算

求教正则表达式如何匹配