許せない心理テスト

場所のなかにある"\UP"以降をワイルドカードの"*"で指定して削除しようとしているのですが
できません。Replace関数で、ワイルドカードは使えないのでしょうか? 

VBA構文
場所抽出 = Replace(場所, "\UP*", "")

A 回答 (3件)

こんばんは、


>Replace関数で、ワイルドカードは使えないのでしょうか?
メソッドでは使えますが、Replace関数で、ワイルドカードをしようするなら、
#2様の回答されているようにRegExpオブジェクトを作成する必要があります
よく文字列からキーワードを使って文字列を抽出する場合の関数は
Replace、Split、InStr、Mid、Left、Right、Len などでしょうか

ご質問の場合、上記関数を使用すると
場所抽出 = Split(場所, "\UP")(0) や
場所抽出 = Left(場所, InStr(場所, "\UP") - 1) などで抽出出来ると思います
    • good
    • 5
この回答へのお礼

場所抽出 = Left(場所, InStr(場所, "\UP") - 1) で できました。
ありがとうございました。

お礼日時:2021/11/30 20:09

\ は文字列としての \ ですか?


それなら正規表現のReplaceなら可能でしょ。
Patternとして"\\UP.*" (かな?)を指定すれば。

https://jizilog.com/vba-regexp#toc6
    • good
    • 1

insutrで関数で開始位置を見つけ、left 関数と len 関数を組み合わせて必要文字列取り出してください。

    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A