Necesito reemplazar algunas partes de una cadena con C#. Pude encontrar solo una pregunta similar sobre cómo lograr este here pero era PHP.¿Cómo reemplazar dos o más cadenas entre sí?
Mi situación implica un diccionario [cadena, cadena] que contiene pares de sustituir como:
- perro, gato
- gato, ratón,
- ratón, rapaz
Y Tengo una cadena con el valor de:
"My dog ate a cat which once ate a mouse got eaten by a raptor"
Necesito una función para conseguir esto:
"My cat ate a mouse which once ate a raptor got eaten by a raptor"
Si enumero el diccionario y llame String.Replace por fin, me sale esto:
"My raptor ate a raptor which once ate a raptor got eaten by a raptor"
Es raro si esto no se ha hecho antes , (¿Es de conocimiento público?) Pero no pude encontrar ninguno. Entonces lo siento si lo ha hecho y me lo perdí.
Una manera sucia de hacerlo sería usar texto intermedio. Por lo tanto, convierta 'perro' a '1', 'gato' a '2', y luego haga un segundo pase donde convierta '1' y '2' a lo que desea. Asegúrese de usar algo más exclusivo que '1' y '2' (quizás un GUID). Como dije, está sucio, y estoy seguro de que hay una mejor manera. – xbonez
¿Qué es lo que quiere (como salida) para un diccionario {"foo": "1", "bar": "2", "foobar": "3"}, y entrada "foo bar foobarbar"? – Dogbert
@Dogbert "1 2 32" –