特定の文字まで取得したい

いつもお世話になっております。

ある文字列の最初から"@"より前の文字列を取得したいです。

例)文字列X “/AAA/AAA2222.aaf?o2=11111@案件:ハード + ソフト(300)”
欲しい解答 “/AAA/AAA2222.aaf?o2=11111”

以前同じようなことをここで教えていただいたので、下記のように書いてみたのですが"長さを0未満にすることはできません"というエラーが出ます。
文字列X.SubString(0, 文字列X.IndexOf(“@”))

そこで"@“が何文字目にあるかが取れているか確認するため
文字列X.IndexOf(”@“)
だけにしたところ”-1"が返されます。

上記のやり方以外でもよいので`@"より前の文字列を取得したいです。

よろしくお願いいたします。

split(“@”c)で配列にして、最初の配列(0)遠取得するとか…

回答ありがとうございます。

文字列に設定していた"@“と式の中の”@"が違っていました。

お騒がせしました。

1 Like

@rkym123456 さん
お世話になっております。ジャンです。

Match activity を使ってみれば@前のすべての文字を取得できます。

Expression は (.*)(?=(@))

こんにちは

上記で-1が返るということは、文字列中に@が存在しないことを意味しています。
例えば全角、半角が一致していますでしょうか?
いずれにしましてもこのあたりの正確な情報が必要になりますので、
可能であれば、対象の文字列をテキストファイル等で共有いただいた方が
良いかと思います。