private ParseString ( string input ) : string | ||
input | string | |
return | string |
internal string ParseString(string input)
{
if (input == null || input.Length < 4 || variables == null || variables.Count == 0)
return input;
int i = input.IndexOf ("$(");
if (i == -1)
return input;
StringBuilder result = new StringBuilder (input.Length);
result.Append (input, 0, i);
while (i < input.Length) {
if (input [i] == '$') {
i++;
if (i >= input.Length || input[i] != '(') {
result.Append ('$');
continue;
}
i++;
int start = i;
while (i < input.Length && input [i] != ')')
i++;
string tag = input.Substring (start, i - start);
string tagValue;
if (variables.TryGetValue (tag, out tagValue))
result.Append (tagValue);
else {
result.Append ('$');
i = start - 1;
}
} else {
result.Append (input [i]);
}
i++;
}
return result.ToString ();
}
string ParseString(string s) { if (desc != null) { return(desc.ParseString(s)); } else { return(s); } }