2010-12-06 22 views
8

Usando el diálogo buscar y reemplazar en Visual Studio (2010) es posible reemplazar algo de texto pero preservar el caso del texto que se reemplaza.Visual Studio - Cómo reemplazar el texto que preserva el estuche

es decir. Quiero cambiar 'foo' a 'bar' pero en mi código tengo Foo, foo y FOO. Quiero que el reemplazo sea Bar, barra, BAR respectivamente.

¿Es posible? Sospecho que necesito usar la funcionalidad de expresión regular, pero necesito ayuda para hacerlo.

EDIT: Sé que puedo establecer la opción de coincidencia de mayúsculas y minúsculas, pero lo único que hace es limitar el reemplazo al texto que coincide con el caso del término de búsqueda. Así es como lo estoy haciendo en este momento, pero es molesto tener que hacer tres sustituciones - foo, Foo y FOO

Respuesta

4

que es - simplemente ampliar el área de la Find OptionsFind and Replace de diálogo y marque la casilla de verificación Match Case.

la documentación completa sobre el cuadro de diálogo se puede encontrar here:

caso del partido - Sólo se muestran las instancias de la cadena de Encontrar lo que se corresponde tanto por el contenido como por caso. Por ejemplo, una búsqueda de "MyObject" con Match case selected devolverá "MyObject" pero no "myobject" o "MYOBJECT".


Editar: (siguiente aclaración)

No sé de una manera fácil de hacer lo que quiera. Se podría construir un RegEx que haga esto, pero sospecho que hacer 3 buscar y reemplazar sería más rápido, más fácil y menos propenso a errores que un RegEx, en este caso.

+1

Toda esa opción hace es limitar el reemplazar al texto que coincide con el caso del término de búsqueda. Así es como lo estoy haciendo en este momento, pero es aburrido tener que hacer tres reemplazos: foo, Foo y FOO – Martin

+0

+1 para que sea más rápido, más fácil y menos propenso a errores ... regex es convincente y puede ser peligroso. –

1

Creo que si se utiliza "buscar coincidencias" = true entonces se puede sustituir "Foo" a "bar" y "foo" a "barra"

Cuestiones relacionadas