Re: [問題] 如何取出字串中的數字並加以運算
※ 引述《abliou (把青春freeze)》之銘言:
: ※ 引述《saka12 (saka)》之銘言:
: : 大家好,我式perl的新手
: : 請問如果從<STDIN>輸入任意數字或字母,
: : 在不使用"陣列"跟"正規表示法"的前提下,
: : 怎麼只取數字,並運行基本的運算
: : 例如:
: : 使用者輸入: 1 12 3 a 24 e 5
: : 螢幕顯示: 1+12+3+24+5=45
: : 我本來用substr來取單一字元,可是這樣12會被拆成1跟2,
: : 我卡這裡很久了,實在想不出來,所以請大家幫幫忙
: : 謝謝D
: $in=<stdin> ;
: chomp($in);
: sub{ print join("+",@_ )."=". ${[map{$sum+=$_}@_]}[-1] }
: ->(grep{/\d+/}split/\s/,$in);
一個以字串處理為主的解法:
$expr = <STDIN>;
chomp $expr;
$expr =~ s/(?<=\d)\D+(?=\d)/+/g;
$ans = eval $expr;
print "$expr=$ans\n";
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.242.246.249
推
01/29 18:56, , 1F
01/29 18:56, 1F
推
01/29 21:46, , 2F
01/29 21:46, 2F
→
01/29 23:18, , 3F
01/29 23:18, 3F
推
01/30 01:01, , 4F
01/30 01:01, 4F
推
01/31 22:43, , 5F
01/31 22:43, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 9 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章