文字列の最後の6文字を抽出し、それらの途中にスラッシュを追加するには、C#正規表現が必要です。例えば:
xx_xxxx_xxxABCXYZ.Something.csv
私は欲しいABC/XYZ
3文字のコンポーネントは何でもかまいませんが、前のxの量はさまざまです。ただし、必要な6文字は、常に最初のピリオドの直前です。
パターンと置換をGUIに入力する必要があるため、追加のコードを選択することはできません。
とても有難い。
これを使って:
^.*?(\w{3})(\w{3})\..*$
と置換する:
$1/$2
パターンは文字列全体と一致するため、最終的にすべてが削除されますが、キャプチャグループでそれぞれ3文字の2つの文字列がキャプチャされます。$1
次に、これらにアクセスし、とを使用して元の場所に戻します$2
。パターンの後にはも続く\.
ため、6文字の後にドットが必要です。?
後は、(.*
の代わりに)最初に発生する可能性のあるものを見つけることを確認しますething
。
これにより、数字、文字、およびアンダースコアで6文字を構成できることに注意してください。文字のみが必要な場合は、[a-zA-Z]
または大文字[A-Z]
のみを使用してください。
Path.GetFileNameWithoutExtensionを使用してから、string.Insertを使用してスラッシュを追加します