アプリ版:「スタンプのみでお礼する」機能のリリースについて

LINUXのシェルスクリプトで使いたいのですが
「こんにちは、本日価格○,○○○円です。ぜひともお買い求めください」の
文字列の「本日価格○,○○○円」に該当する部分をsedコマンドで置換(削除)したく思っております。○の部分は変動するので正規表現を使わないといけないようですが
その正規表現が難しく難解だったので質問させて頂きました。
どなた様でも結構ですので教えていただけませんか。

A 回答 (1件)

〇には数値が入ると想定した場合の例です。



―――――――――――――――――――――――――

「本日価格」があって、
続いて、全角か半角の、数字(0~9)か「,」が「1個以上」あって、
続いて、「円」があった場合、
何も無しに置換する(削除する)、
というsedスクリプトは、以下の通りです。

s/本日価格[0-90-9,,]\+円//gi

※ 「[0-90-9,,]」=「[ ]内のどれかの文字」
※ 「\+」=「直前の文字が1個以上ある」

―――――――――――――――――――――――――

「本日価格」があって、
続いて、「円」以外の文字が「1個以上」あって、
続いて、「円」があった場合、
何も無しに置換する(削除する)、
というsedスクリプトは、以下の通りです。

s/本日価格[^円]\+円//gi

※ 「[^円]」=「『円』以外の文字」

―――――――――――――――――――――――――

安全なのは、前者の例かと思います。

Windows環境での確認ですので、Linux環境で正しく動作しなかったらすみません。
    • good
    • 0
この回答へのお礼

LINUX環境でも置換できました!!
ありがとうございます。本当に助かりました!

お礼日時:2017/07/08 01:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!