作者saka12 (saka)
看板Perl
标题[问题] 如何取出字串中的数字并加以运算
时间Sun Jan 29 06:43:37 2012
大家好,我式perl的新手
请问如果从<STDIN>输入任意数字或字母,
在不使用"阵列"跟"正规表示法"的前提下,
怎麽只取数字,并运行基本的运算
例如:
使用者输入: 1 12 3 a 24 e 5
萤幕显示: 1+12+3+24+5=45
我本来用substr来取单一字元,可是这样12会被拆成1跟2,
我卡这里很久了,实在想不出来,所以请大家帮帮忙
谢谢D
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 24.130.53.186
1F:推 imce:那就用for配substr把空格换成+再用eval算吧 01/29 09:46
2F:推 drm343:hash 也不能用? 01/29 13:54
3F:→ saka12:我有想过用hash,不过感觉行不通,因为随机的输入的数值 01/29 14:19
4F:推 snowfly:split(/\s+/,$input); 01/29 14:57
5F:→ dryman:用正规和阵列明明瞬间就做好了... 01/29 16:01
6F:→ imce:应该是课还没上到阵列,只上到运算符号而已吧。 01/29 17:53
7F:推 CindyLinz:$input=~s/(?<=\d)\D+(?=\d)/+/g; $ans = eval $input; 01/29 18:37