問題
次のようなファイル キーを格納するフィールドがあります。
dev/application/document_type_name/document 12345-67890_123.pdf
値が次のようになるように、最後に数字のないキーを選択する必要があります。
dev/application/document_type_name/document 12345-67890_.pdf
潜在的な戦略
私がT-SQLをやってからしばらく経ちましたが、.NET側から来て、一般的な戦略は次のようになると思います:
- アンダースコア文字の最後のインデックスを取得する
- ピリオド文字の最後のインデックスを取得します。
- これらの 2 文字の間の値をブランクに置き換えます。
C# では、次のようになると思います。
var test = "dev/application/document_type_name/document 12345-67890_123.pdf"
var indexOfUnderscore = test.LastIndexOf("_");
var indexOfPeriod = test.LastIndexOf(".");
var textToReplace = subtring(indexOfUnderscore + 1, indexOfPeriod -1);
var output = test.Replace(textToReplace, String.Empty);
ノート:
- すべてのキーにはその形式があります
- アンダースコアとピリオドの間の値の長さは異なる場合があります (1、12345 など)。
- 最終結果はアンダースコアとピリオドを保持する必要があります