Ich möchte die kürzeste Zeichenkette zwischen zwei Wörtern erhalten. Ich kann die Zeichenfolge zwischen zwei Wörtern erhalten, aber das Problem tritt auf, wenn das gleiche Wort zweimal vorhanden ist.Kürzeste Zeichenkette zwischen zwei Wörtern erhalten C#
Satz: Die Menschen, die mit anderen Menschen arbeiten hier sind.
Ich möchte die Zeichenfolge zwischen den letzten Menschen und hier bekommen. Dies ist die Methode, die ich bin derzeit mit:
private static string Between(this string value, string a, string b)
{
int posA = value.IndexOf(a);
int posB = value.LastIndexOf(b);
if (posA == -1)
{
return "";
}
if (posB == -1)
{
return "";
}
int adjustedPosA = posA + a.Length;
if (adjustedPosA >= posB)
{
return "";
}
return value.Substring(adjustedPosA, posB - adjustedPosA);
}
Diese Funktion funktioniert, wenn es keine Wiederholung ist. Aber für das Beispiel gibt es mir die ganze Schnur zwischen den ersten Leuten und hier zurück. Wie kann ich das Ergebnis zwischen den letzten Leuten und hier bekommen? Das Ergebnis, das ich erwarte, ist sind.
Ihre Frage mit nicht seinen Titel entsprechen. Eine "Zeichenfolge zwischen zwei kürzesten Wörtern" und eine "kürzeste Zeichenfolge zwischen zwei Wörtern" sind völlig unterschiedliche Dinge. –
Sind nicht 'die',' wer' und 'und' die kürzesten Wörter im Satz? – DeanOC
@DiligentKeyPresser, Frage aktualisiert. Entschuldigung für mein schlechtes Englisch. –