文字列変数があり、その内容は次のとおりです。
.....
DataElement deAbtVersionNum
m_AttrParent Commercialcardsys::CommercialCardInt
m_AttrGUIFieldLabel "WEX_CI 3.02.01P20.1" appsys30::lngDbb
m_AttrdbType "char"
.....
... が示すように、他のテキストもあるかもしれません。
3 行目には「WEX_CI 3.02.01P20.1」があります (これは、下から始まる WEX.. が存在する唯一の場所です。)
3.02.01P20.1 (完全に) を 3.02.01P20.1.NEW などの新しいバージョンに置き換える必要があります。
「Wex のインデックスを探してから次のインデックスを見つける」というダーティ メソッドを使用して、なんとかそれを行うことができました。
int start = CItext.LastIndexOf("\"WEX") + 1;
int end = CItext.IndexOf("\"", start);
string text = CItext.Substring(start, end - start + 1);
string[] parts = text.Split(new Char[] { ' ' });
string editedText = parts[0] + " " + LabelName;
CItext = CItext.Replace(text, editedText);
CIText は、編集する必要がある文字列です。LabelName は、3.02.01P20.1 の代わりに入れたい文字列です
他のクリーンな方法を提案してもらえますか?