最初の2番目までの区切り文字までを分割する方法

文字列をsplitで分割するときに、すべての区切り文字で分割するのではなく、最初の2つの区切り文字までは分割し、あとはそのまま抽出する方法を検討しています。

例えば
区切り文字:P
対象文字列:1P2P45P67P89
のとき、2個目のPで区切りをやめて、「45P67P89」をとりだしたいと考えております。

こちらに関して、いったんすべての区切り文字で分割して、繰り返しの中で必要な箇所を連結することも可能かと思いますが、
最初から、2個目のXで区切りをやめて特定箇所を取り出す方法(連結する必要なく)はないかなぁと苦心中です。

VBではオプションで分割する要素数を制限することができるようですが、UiPathで試したところ、うまくいきませんでした。(エラーが発生して、オプションは指定できないようにみえました。)

splitに限らず、上記いい方法をお持ちの方がいましたら、ぜひご教授いただけないでしょうか。

こんにちは
以下でいかがでしょうか?

 System.Text.RegularExpressions.Regex.Match(text,"(?<=^[^P]+P[^P]+P).*").Value
1 Like

素直に"P"cでSplitして、
文字列.SUbString(配列(0).Length+配列(1).Length+2)
なんてすると案外。。。

因みに+2としたのは、”P"二つ分ですが、SubStringメソッドでは、0からなので、+1かもしれません<m(__)m>