作者CindyLinz (Cindy Wang)
看板Perl
标题Re: [问题] 如何取出字串中的数字并加以运算
时间Tue Jan 31 18:18:09 2012
※ 引述《drm343 (一卡那亚)》之铭言:
: ※ 引述《saka12 (saka)》之铭
: 恕删
: : 如果使用者只输入字母,那我要如何print出"无效运算"呢?
: : 例如:
: : 1 2 12 a 15 b 31 -> 1+2+12+15=30
: : a b c d -> 无效运算
: 我写了一份 hash 版。
: 因为副程式的参数传递本身也是一种阵列结构,所以我这份也不算符合条件。
应该没有说不能用阵列吧? ^^|
: 然後程式码没写得很好,献丑了。
: http://www.4shared.com/file/rz47rY9t/hello.html
: 一开始先用 hash 宣告只有数字符合所求,相当於宣告 \d。
: 然後用 get_str 函数分析字串,利用 " " 将字串分成好几个不同的子字串。
: 每取出一个子字串就传给 check_num 函数分析该字串是不是完全由数字组成,\n
: 如果是纯数字,就回传这个数字,如果不是纯数字,就回传 0。
: 太久没写 Perl,刚刚 debug 半天才想到忘了宣告 my...........
嗯, 如果判断标准是「这一串里面完全没有数字」的叫作无效运算的话,
也是可以纯用字串判断:
if(
$expr =~
/\d/ ) {
# 有数字, 继续作原有的计算
}
else {
# 完全没有数字, 输出无效运算
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.242.246.249
1F:推 drm343:其实我是要回第一篇那篇,只是取错篇幅了XD 01/31 19:12
2F:→ drm343:是回第一篇的不使用阵列跟 RE 情况下啦 01/31 19:12