作者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