いつもお世話になっています。
今開発中のプロジェクトでメッセージ文言の文字列をインクルードファイルにconstで定義し、実際のプログラム中にベタで書くのをやめる決まりを作ろうと思うのですが、const定義した文字列にパラメータを渡すことが出来ますか?
たとえば const A = "すでに同じ%があります。"
Aの"%"部分を可変にしたい場合、たしか上記のように"%"か"?"かなんかで設定してあげて、文字列を編集したメッセージボックスを表示する共通関数を作り、その関数に%部分の文字列をパラメータで渡すという開発手順をVBで経験した記憶があるのですが・・・。
その時は共通関数を呼ぶだけで、まだ超初心者だったこともあり関数の中身まで読んで勉強することがなかったのでよく仕組みがわからないのですが、こういう場合、自分で文字列置換の関数を作るだけなんですか? それともなんらかの方法があるのでしょうか。
みなさんよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
一般的には
Const A = "すでに同じ%0%があります。%1%に変更しますか?"
などと定義し、
Replace(A, "%0%", "データ")
Replace(A, "%1%", "Key=2")
とすれば汎用化できます。
ありがとうございます。お礼がおそくなってしまって申し訳ありません。
なるほど、という感じです。検討してみます。
上司に話したところ、上司がプログラミングしたことのある言語だとそういう関数があるそうなのです。普通にVBでもありそうなのに・・・という感じで調べてました。なさそうなのでZeus089さんのアドバイスを検討してみようと思います。
No.1
- 回答日時:
Replace関数を使えば簡単に文字列置換ができます。
例えば、下記のように使用します。
-----------------------------------
Const A = "すでに同じ%があります。"
Response.Write Replace(A, "%", "サンプル")
-----------------------------------
上記の例は定数Aの"%"を"サンプル"に置き換える例です。
この部分を汎用的に共通関数化すればOKだと思います。
この回答への補足
ありがとうございます。
確か前のVBの開発では"%"部分が2つあってもその順番にパラメータを渡してあげれば大丈夫な気がしたんです。
Response.Write Replace(A, "%", "サンプル") だと一括置換になってしまうので、やっぱり自分でInstr("%")って感じで何文字目か取得するしかないのでしょうか・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列の置換をCStringで(C++)
-
VBSで"をエスケープする文字は?
-
○分から○時間○分に変換
-
近似した文字列を置換するエク...
-
文字列のアスタリスク置換
-
c# string型の変数に、ダブルク...
-
ダブルクォーテーションが置換...
-
ダブルコーテーション(
-
php 正規表現で、\\マークを取...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
ファイルから読み取った改行文...
-
メッセージボックスで1025文字...
-
データベースから取り出したテ...
-
数値をASCII文字にする方法につ...
-
半角記号、全角記号を含む正規...
-
16進数の文字列をアスキーコー...
-
SJISで取得した半角カナをUTF-8...
-
jsp 改行コードで改行させて表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSで"をエスケープする文字は?
-
ダブルコーテーション(
-
近似した文字列を置換するエク...
-
文字列の置換をCStringで(C++)
-
PHP・Wordpress preg_replaceを...
-
○分から○時間○分に変換
-
c# string型の変数に、ダブルク...
-
【PHP】preg_replace() で正...
-
(から)までの文字列を削除したい
-
nl2brが効かないのですが・・・
-
文字列の括弧について(初心者)
-
PHPでjavascriptを書き出すとき...
-
空白文字のカンマへの変換について
-
php 正規表現で、\\マークを取...
-
不規則なaタグのスクレイピング...
-
ダブルクォーテーションが置換...
-
マクロ関数 #define の効果は何...
-
文字列のアスタリスク置換
-
htmlspecialchars関数でエスケ...
-
文字列内にある「指定した空タ...
おすすめ情報