string s = "Gewerbegebiet Waldstraße"; //other possible input "Waldstrasse"
int iFoundStart = s.IndexOf("strasse", StringComparison.CurrentCulture);
if (iFoundStart > -1)
s = s.Remove(iFoundStart, 7);
CultureInfo 1031 (ドイツ語) を実行しています。
IndexOf は、'straße' または 'strasse' を定義済みの 'strasse' と一致させ、位置として 18 を返します。
Remove も Replace も、カルチャを設定するためのオーバーロードはありません。
入力文字列が「strasse」で「straße」が機能する場合、Remove を使用して 6 文字を削除すると、1 文字が残ります。入力文字列が「straße」で、7 文字を削除すると、ArgumentOutOfRangeException が発生します。
見つかった文字列を安全に削除する方法はありますか? IndexOf の最後のインデックスを提供するメソッドはありますか? 私は IndexOf に近づきましたが、それは予想どおり内部のネイティブ コードです。