计算字符串中的部分信息(已经自己解决了,谢谢大家)
本帖最后由 feicuiboy 于 2011-4-20 22:20 编辑我没有按照正则,用了字符查找函数。因为变量界定符(这里是百分号)出现是成对出现的,截取并 计算第1~2个百分号,第3~4个百分号,第5~6个百分号表达式的值,并连接第1个百分号前,第2~3个百分号,第4~5个百分号,,第6~7个百分号之间的字符串
我编写了下面的代码,但是无法返回值,不知道在哪出错了,请哪位明白的帮看下,谢谢
对$xxx%%之间的进行数学运算,输出车外圆{~1:Φ:4.5mm,保持尺寸{~2::25mm
数组超出范围,已经自己解决了,谢谢大家,下面的代码是正确的,可以借鉴使用,谢谢#Include <String.au3>
Global $xx
$xx=5
$xx=20
Global $xxx = "车外圆{~1:Φ:%$xx-1.5%mm,保持尺寸{~2::%$xx+$xx%mm "
Global $str = "%"
MsgBox(0,"",_str($xxx, $str))
Func _str($strs, $str) ;"字符串", "子字符串"
Local$str1, $str_tmp,$i_tmp,$str_result
$i_tmp=0
Local $str_total=""
For $i = 1 To 20;读取该段字符串含特定字符的数目
$str_tmp = StringInStr($strs, $str, 0, $i) ;寻找指定字符的位置
$str1[$i] = $str_tmp;找到第i个字符的位置
If $str1[$i] >1 Then ;如果存在第i个字符,则
$i_tmp= $i ;总的数目
Else
EndIf
Next
If $str1=0 Then;如果不存在变指定字符,则返回整个字符
Return $strs
Else
$str_result=StringLeft( $strs, $str1-1) ;最左边字符串
$str_total=$str_result
For $i=1 To $i_tmpStep 2 ;对变量进行运算
$str_result[$i]=Execute(StringMid($strs,$str1[$i]+1,$str1[$i+1]-$str1[$i]-1));返回 1~2,3~4,5~6表达式的值 ,未完成
$str_result[$i+1]=StringMid($strs,$str1[$i+1]+1,$str1[$i+2]-$str1[$i+1]-1) ;第2~3个百分号,第4~5个百分号,,第6~7个百分号之间的字符
$str_total&=$str_result[$i]&$str_result[$i+1]
Next
Return $str_total
EndIf
EndFunc ;==>_str数组超出范围,已经自己解决了,谢谢大家,上面的代码是正确的,可以借鉴使用,谢谢 数组超出范围,已经自己解决了,还是谢谢大家看帖,上面的代码是正确的,可以借鉴使用,谢谢 借鉴一下,谢谢分享 good example.... thanks~~~~~~{:face (411):} 感谢分享答案
页:
[1]