2012-04-18 8 views
0

今すぐmy $ argは金額を返します。たとえば:$ 65.88regsubを使用してドル記号を削除

ドル記号を削除しようとしています。そのためにドル記号をいくつか計算したいからです。 変数。 以下は動作しません。 $記号が前に付いた値が返されます。

regsub -all {$} $arg {} arg 
+0

$は通常、行の終わりを意味します - $をエスケープし、すべてがうまくいくはずです – KevinDTimm

+0

regsub -all "\ $" $ hd_rate "" $ hd_rateこれは何か? – Micheal

+0

私の回答を編集してください(およびhttp://www.tcl.tk/man/tcl8.4/TclCmd/regsub.htm#M13) – KevinDTimm

答えて

3

$通常行の終わりを意味します - $をエスケープし、すべてがうまく

でなければなりません[編集]

regsub -all {\$} $arg {} arg 

[/編集]

+0

regsub -all "\ $" $ arg "" arg \t puts " $ arg "..これはまだ私に$を付けた値を返します。 – Micheal

+0

これはもっと調査が必要な場合があります。私の答えはreg式の一般的なものです – KevinDTimm

+2

あなたは中かっこを使うかエスケープする必要があります。バックスラッシュは二重引用符と正規表現の両方で特別です –

5

あなたはしないでくださいこの作業のために正規表現が必要です。 string mapを使用してドル記号を空の文字列に置き換えるか、ドル記号を検索して文字列コマンドで削除します。

正規表現は良いですが、理解しておらず、インターネットから離れた式を使用するだけで、あなたは苦労しているかもしれないソフトウェアを作成しました。

+0

特定の変換は次のようになります: 'set arg [string {$ {}} $ arg]' –

関連する問題