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

XMLの特定の文字列を書き変えたいのですが
その文字の場所を特定して
Replace (文字列、対象文字列、置換文字列、検索開始位置)で置換をすると
検索開始位置の前の文字が消えてしまいます
検索開始位置まえの文字はそのままにして、検索開始位置から後の文字列のみを置換する方法はないでしょうか

A 回答 (1件)

VBAはExcel限定、XMLは全く理解していないのですが、他の方の解答がつかないようなので思いつくところを書きます。


何のReplaceなのかよくわからないと思って見ていたのですが、本日改めて見直したところ、引数の種類と順番から判断するにどうやらVisual BasicのReplace関数のようですね。
というのは、たとえばExcelだと他にもReplaceがありますし、どのソフトのVBAなのか書いてないので判断がつきかねていました。
で、これはXMLがどうのということではなく単純な文字列置換の問題のように見えます。(なのできっとOfficeのカテゴリの方が解答がつきやすいのでは?)
そういう前提での解答ですが、Visual BasicのReplace関数はそういう仕様のようですね。
なので、消える部分は別に補えばよいかと。
置換後文字列 = Replace(文字列, 対象文字列, 置換文字列 ,検索開始位置)
となっているなら、これを
置換後文字列 = Left(文字列, 検索開始位置 - 1) & Replace(文字列, 対象文字列, 置換文字列 ,検索開始位置)
と変更してみてはいかがでしょうか。
    • good
    • 0

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