[過去ログ] Regular Expression(正規表現) Part13©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
128(3): 2015/02/23(月)16:22 ID:Ux68NKC8(1/2) AAS
>>125と似た感じなのですが、
rubyで下記文字列から円の前の金額部分を抜き出したいです。宜しくお願いします。
"123百万円(250ほげ)、285百万円(ほげ125)
1億2千3百万円
1,230万円(ほげ2000.12ほげ)
1,230,000円(2000.12ほげ)"
129: 2015/02/23(月)16:30 ID:Ux68NKC8(2/2) AAS
自己レス>>128です。
できた気がしますが、こんなんで良いんでしょうか?
str.scan(/\d[^()]+?[億千百万]?円/)
130(1): 2015/02/24(火)18:51 ID:07WHyE0z(1) AAS
>>128
[億千百万]? の部分は、提示したデータだと、抜いても結果が変わらない
何かの考えがあって入れているのだと思うけど、その意図が今一つ不明
実際のデータが、示されたものと違うのかな?
> こんなんで良いんでしょうか?
上記の問題を検討した上でだが、実際のデータから希望の結果が出るなら
それで良いんじゃあないかと思います
あえてここで、何か答えるとすると
もしも、(...)で囲まれたほげ数字にも、円で終わるものが有ったりしてややこしくなるなら、
一度に処理しようとせずに、予め元のデータから(...)だけを削除しておくのも良い手だと思う
# `.*?' の代わりに `[^))]*' でも同じ。良く分からないから半角()も入れておいた
# 「円の前の金額部分」という事なので、円の手前までを抜き出したもの
# ちなみに、この scan() だけでも、今回の解答になっています
str.gsub( /[((].*?[))]/, '' ).scan( /[\d,億万千百]+?(?=円)/ )
131: 2015/02/24(火)21:49 ID:3nVqEvm0(1) AAS
>>128
テンプレすら読めないの?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.036s