コンマで区切られた数字を含む文字列が与えられた場合、それらに対して数学演算を実行することは可能ですか?
たとえば、どのように文字列を取得し、"123,456,789"その中から数値を抽出し、またはのような操作を実行できます123 + 456か456 - 123?
コンマで区切られた数字を含む文字列が与えられた場合、それらに対して数学演算を実行することは可能ですか?
たとえば、どのように文字列を取得し、"123,456,789"その中から数値を抽出し、またはのような操作を実行できます123 + 456か456 - 123?
inject、split、およびmapメソッドを使用できます。
"123,32,3,4,5,6, 2,34".split(",").map(&:to_i).inject(&:+)
eval も使用できますが、eval遅くて時間がかかります。
を使用して、配列内の文字列を分割できますsplit(',')
。現在、to_i任意の配列要素で使用できます。お役に立てば幸いです。
どうぞ:
s = "123,456,789"
s.split(',').reduce(0) do |result, number|
result = result + number.to_i
end
reduceブロック内の記号を+から-または必要なものに変更します。