Hallo zusammen,
mir fehlt der letzte Funken.
Folgendes:
Ich möchte eine String in ein Key / Value Paar zerlegen die durch ein '=' Zeichen getrennte sind.
Wobei im Value auch weitere '=' enthalten sein dürfen.
z.Bsp.:
Das funktioniert auch bestens.
Das Problem:
Es soll auch bei einem "leeren" Value eine positive Rückmeldung geben (mTemp.Success = true).
Dann ist der Value String eben leer.
Wie muss ich das Pattern anpassen, dass das so funktioniert?
Vielen Dank im voraus.
Gruß CopWorker
mir fehlt der letzte Funken.
Folgendes:
Ich möchte eine String in ein Key / Value Paar zerlegen die durch ein '=' Zeichen getrennte sind.
Wobei im Value auch weitere '=' enthalten sein dürfen.
z.Bsp.:
C#:
strExpression = "DefaultValue=\"9=neun; 10=zehn\"";
Das funktioniert auch bestens.
C#:
private bool GetKeyValue(string strExpression, ref string strKey, ref string strValue, ref string strDelimiter)
{
bool BRet = false;
Match mTemp = Match.Empty;
mTemp = Regex.Match(strExpression, @"(?<Key>\w+)\s*[=]\s*(?<delimiter>[""'])\s*(?<Value>[^$]+)\s*\k<delimiter>");
if (mTemp.Success && mTemp.Groups["Key"].Success && mTemp.Success && mTemp.Groups["Value"].Success)
{
//Variablentyp aus Typenliste ermitteln
strKey = mTemp.Groups["Key"].Value;
strValue = mTemp.Groups["Value"].Value;
strDelimiter = mTemp.Groups["delimiter"].Value;
BRet = true;
}
return BRet;
}
Das Problem:
Es soll auch bei einem "leeren" Value eine positive Rückmeldung geben (mTemp.Success = true).
C#:
strExpression = "DefaultValue=\"\"";
Dann ist der Value String eben leer.
Wie muss ich das Pattern anpassen, dass das so funktioniert?
Vielen Dank im voraus.
Gruß CopWorker