wyjątkiem @ Prashant odpowiedź na powyższe odpowiedzi zostały wysłuchane nieprawidłowo. Gdzie jest funkcja "zastąp" odpowiedzi? OP zapytał: "Po tym chciałbym stworzyć nowy ciąg między tym a czymś innym".
Na podstawie doskonałej odpowiedzi @ Oscara, rozszerzyłem jego funkcję o funkcję "Search And Replace"
w jednym.
Myślę, że @ Odpowiedź Prashanta powinna była być zaakceptowaną odpowiedzią PO, ponieważ zastępuje.
W każdym razie nazwałem mój wariant - ReplaceBetween()
.
public static string ReplaceBetween(string strSource, string strStart, string strEnd, string strReplace)
{
int Start, End;
if (strSource.Contains(strStart) && strSource.Contains(strEnd))
{
Start = strSource.IndexOf(strStart, 0) + strStart.Length;
End = strSource.IndexOf(strEnd, Start);
string strToReplace = strSource.Substring(Start, End - Start);
string newString = strSource.Concat(Start,strReplace,End - Start);
return newString;
}
else
{
return string.Empty;
}
}
Spójrz [** 'IndexOf' **] (http://msdn.microsoft.com/en-us/library/k8b1470s.aspx) i [** 'Substring' **] (http://msdn.microsoft.com/en-us/library/aka44szs.aspx). – mellamokb
możliwy duplikat [Znajdź słowo (słowa) między dwiema wartościami w ciągu] (http: // stackoverflow.com/questions/8082103/find-words-between-two-values-in-a-string) –
Jest to jednocześnie funkcja Znajdź i zamień w jednym z nich. To nie jest tylko znalezisko, które IndexOf() lub string.Contains() może łatwo obsłużyć. – Fandango68