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
如果仅仅像你给出的这种“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 如何把字符串转化为逻辑表达式?的主要内容,如果未能解决你的问题,请参考以下文章