Altova StyleVision 2024 Enterprise Edition

Buscar, Buscar siguiente, Reemplazar

Inicio Anterior Inicio Siguiente

El comando Buscar (Ctrl+F) ic_find sirve para buscar cadenas de texto en la vista Diseño, en el editor JavaScript, en la vista Authentic y en hojas de estilos XSLT.

 

El cuadro de diálogo Buscar y reemplazar es distinto en función de la vista que esté activa.

 

Si la vista activa es la de diseño, al hacer clic en los comandos Buscar o Reemplazar se activa la barra lateral Buscar y reemplazar. La funcionalidad de búsqueda y reemplazo de la vista de diseño se describe en el apartado Buscar y reemplazar.

La funcionalidad de búsqueda y reemplazo en el editor de JavaScript, la vista Authentic, y las hojas de estilos XSLT se describen en este apartado.

 

Hojas de estilos XSLT y el editor JavaScript

Si hace clic en el comando Buscar desde el editor JavaScript o en la vista previa de una hoja de estilos XSLT para HTML, RTF, FO y Word 2007+, aparece este cuadro de diálogo:

dlg_edit_find_xslt1

En este cuadro de diálogo puede seleccionar varias opciones:

 

Coinc. mayús/min: busca teniendo en cuenta las mayúsculas y minúsculas (por ejemplo, si marca esa casilla Dirección no se considera igual que dirección).

Solo palabras completas: busca solamente las palabras que coincidan exactamente con el texto indicado. Por ejemplo, si busca fit la función de búsqueda no encontrará fitness, aunque la palabra contenga también fit.

Expresión regular: si marca esta casilla el término de búsqueda se leerá como una expresión regular. Consulte el apartado Expresiones regulares para aprender a usar expresiones regulares.

Buscar delimitador: cuando se introduce un término de búsqueda, las coincidencias que se encuentran en el documento se resaltan y una de ellas se marca como la selección actual. Esta función indica si la primera coincidencia que se seleccione debe ser relativa a la posición del cursor. Si está activada, la primera coincidencia que se seleccione será la primera a partir del punto en que se encuentre el cursor del ratón. Si está desactivada, la primera coincidencia que se seleccione será la primera que se encuentre a partir del inicio del documento.

Buscar en selección: si esta función está activada, la búsqueda de términos se lleva a cabo dentro del texto que esté seleccionado. Si no está activada, el término de búsqueda se busca en todo el documento. Para cambiar el texto seleccionado en el que quiere buscar el término primero debe deseleccionar primero la selección actual desactivando esta función.

Reemplazar: en la pestaña Editor de JavaScript haga clic en la flecha hacia abajo que hay en la parte superior izquierda del cuadro de diálogo, con la que se abre el campo Reemplazar. Aquí puede introducir la cadena de texto con la que quiere sustituir la cadena encontrada.

 

Vista HTML y vista Authentic

Si hace clic en el comando Buscar desde la vista Diseño o HTML o desde la vista Authentic, se activa la barra lateral Buscar y reemplazar.

 

Debe tener en cuenta que:

 

Si quiere que los resultados coincidan exactamente con el término de búsqueda, marque la casilla Solo palabras completas. P. ej., si busca soft no podrá encontrar software.

Si quiere poder encontrar fragmentos de palabras no marque la casilla Solo palabras completas. De esta forma, si busca soft podrá encontrar software.

Si no quiere que el resultado coincida con el término de búsqueda en el uso de mayúsculas y minúsculas, deje la casilla Coinc. mayús/minús sin marcar. P. ej. si busca programa encontrará tanto programa como Programa.

En la vista Authentic la búsqueda se realiza en los datos dinámicos (en los datos XML) y no en el texto de entrada estático (XSLT).

La funcionalidad Reemplazar en la vista Authentic permite reemplazar una cadena de texto con otra. Las opciones entre las que puede escoger son: (i) buscar solo palabras completas (no palabras que contengan la cadena de búsqueda) y (ii) buscar palabras que coincidan como cadena de texto y en el uso de mayúsculas y minúsculas con la cadena de búsqueda.

 

Buscar siguiente

El comando Buscar siguiente (F3) ic_find_next busca la siguiente repetición del texto utilizado en la operación de búsqueda inmediatamente anterior. Para más información consulte la descripción del comando Buscar.

 

Cómo usar expresiones regulares

Puede usar expresiones regulares (regex) para buscar cadenas de texto. Para ello primero debe activar la función Expresión regular (véase más arriba). Esto indica que el texto que se introduce en el campo de búsqueda se evalúa como una expresión regular. Después introduzca la expresión regular en el campo de búsqueda. Si necesita ayuda con la expresión regular puede usar el botón Generador de expresiones regulares que encontrará a la derecha del campo de búsqueda. Haga clic en un elemento del Generador para introducir los metacaracteres regex correspondientes en el campo de búsqueda. Más abajo se incluye una breve descripción de cada uno de esos metacaracteres.

 

Metacaracteres de las expresiones regulares

A continuación puede consultar una lista de los metacaracteres de las expresiones regulares.

 

.

Cualquier carácter. Es un comodín para un solo carácter.

(

El inicio de una región en la que se realizará la búsqueda.

)

El final de la región en la que se realizará la búsqueda.

(abc)

Los metacaracteres ( y ) marcan el inicio y el final de una expresión etiquetada. Las expresiones etiquetadas son ideales si necesita etiquetar (es decir, recordar) una región encontrada en la búsqueda para poder hacer referencia a ella más tarde (referencia inversa). Puede etiquetar un máximo de nueve expresiones (y hacerles referencia más tarde, desde el campo Buscar o Reemplazar).

 

Por ejemplo, (the) \1 encuentra la cadena the the. Esta expresión significa: encontrar la cadena "the" (y recordarla como región etiquetada), seguido de un carácter de espacio y de una referencia inversa a la región etiquetada encontrada previamente.

\

En una expresión de búsqueda o reemplazo, indica el texto coincidente con la n-ésima expresión etiquetada, siendo n un número del 1 al 9. Por ejemplo, si el término de búsqueda es Fred([1-9])XXX y el término de reemplazo es Sam\1YYY, el texto Fred2XXX se reemplazará con Sam2YYY.

\<

Inicio de palabra.

\>

Final de palabra.

\x

Encuentra el carácter x que sigue a la barra inversa, cuando el carácter x es un carácter que se utiliza en la sintaxis de expresiones regulares. Por ejemplo, \[ encuentra el carácter [ y no el inicio de un conjunto de caracteres.

[...]

Conjunto de caracteres. Por ejemplo, [abc] encuentra los caracteres a, b o c. También puede usar intervalos como [a-z] para buscar cualquier carácter en minúsculas.

[^...]

Un carácter cualquiera no perteneciente al conjunto. Por ejemplo, [^A-Za-z] encuentra cualquier carácter excepto caracteres alfabéticos en mayúsculas o minúsculas.

^

Inicio de línea (a no ser que se use dentro de un conjunto de caracteres, ver fila anterior).

$

Final de línea. Por ejemplo, A+$ encuentra una A o más de una A que estén al final de una línea.

*

0 veces o más. Por ejemplo, Sa*m encuentra Sm, Sam, Saam, Saaam, etc.

+

1 o más veces. Por ejemplo Sa+m encuentra Sam, Saam, Saaam, etc

 

 

Representación de caracteres especiales

Estas expresiones regulares son especiales:

 

\

Retorno de carro (CR). Puede usar CR (\) o LF (\) para buscar o crear una línea nueva.

\

Avance de línea (LF). Puede usar CR (\) o LF (\) para buscar o crear una línea nueva.

\t

Tabulación

\\

Utilice esto para aplicar escape a los caracteres que aparecen en las expresiones regulares. Por ejemplo: \\\

 

Ejemplos de expresiones regulares

En este apartado explicamos cómo usar expresiones regulares para encontrar y reemplazar texto. En muchos casos la búsqueda y reemplazo de texto es una tarea sencilla que no necesita el uso de expresiones regulares. Sin embargo, a veces una operación de búsqueda y reemplazo no es suficiente y será necesario manipular el texto. Por ejemplo, imagine que tiene un archivo XML que incluye varios miles de líneas y necesita cambiar el nombre de determinados elementos de una sola vez, pero sin cambiar el contenido de los elementos. O, por ejemplo, imagine que necesita cambiar el orden de varios atributos de un elemento. En estos dos casos el uso de expresiones regulares le permitiría evitar mucho trabajo manual.

 

Ejemplo nº1: cambiar el nombre de elementos

El fragmento de código XML que aparece a continuación incluye una lista de libros. Imaginemos que nuestro objetivo es reemplazar el elemento <Category> de cada libro con el elemento <Genre>. Podemos hacerlo usando expresiones regulares.

 

<?xml version="1.0" encoding="UTF-8"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="books.xsd">
  <book id="1">
    <author>Mark Twain</author>
    <title>The Adventures of Tom Sawyer</title>
    <category>Fiction</category>
    <year>1876</year>
  </book>
  <book id="2">
    <author>Franz Kafka</author>
    <title>The Metamorphosis</title>
    <category>Fiction</category>
    <year>1912</year>
  </book>
  <book id="3">
    <author>Herman Melville</author>
    <title>Moby Dick</title>
    <category>Fiction</category>
    <year>1851</year>
  </book>
</books>

 

Estos son los pasos que debe seguir:

 

1.Pulse Ctrl+H para abrir el cuadro de diálogo "Buscar y reemplazar".

2.Haga clic en el botón Usar expresiones regulares _ic_find_regex.

3.En el campo Buscar introduzca este texto: <category>(.+)</category>. Esta expresión regular encuentra todos los elementos category, que aparecerán resaltados.

inc-RegexExample01

Para encontrar el contenido de cada elemento (que desconocemos), usamos la expresión etiquetada (.+) . La expresión (.+) indica que se deben "buscar una instancia o varias de cualquier carácter (.+) y recordar este resultado". Como podrá ver en el paso siguiente, más adelante necesitaremos la referencia a la expresión etiquetada.

 

4.En el campo Reemplazar introduzca este texto: <genre>\1</genre> . Esta expresión regular define el texto de reemplazo. Observe que usa \1 para hacer referencia inversa a la expresión etiquetada del campo Buscar. En otras palabras, en este contexto \1 significa "el contenido del elemento <category> actual que coincida con la búsqueda".

5.Haga clic en Reemplazar todos _ic_regex_replaceall y observe el resultado. Todos los elementos category se reemplazaron con genre, tal y como era nuestra intención.

 

Ejemplo nº2: cambiar el orden de los atributos

El fragmento de código XML que aparece a continuación incluye una lista de producto. Cada producto tiene dos atributos llamados id y size. Imaginemos que nuestro objetivo es cambiar el orden de los atributos id y size de cada elemento product (es decir, en todos los elementos product el atributo size debe aparecer antes de id). Podemos hacerlo usando expresiones regulares.

 

<?xml version="1.0" encoding="UTF-8"?>
<products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="products.xsd">
  <product id="1" size="10"/>
  <product id="2" size="20"/>
  <product id="3" size="30"/>
  <product id="4" size="40"/>
  <product id="5" size="50"/>
  <product id="6" size="60"/>
</products>

 

Estos son los pasos que debe seguir:

 

1.Pulse Ctrl+H para abrir el cuadro de diálogo "Buscar y reemplazar".

2.Haga clic en el botón Usar expresiones regulares _ic_find_regex.

3.En el campo Buscar introduzca este texto: <product id="(.+)" size="(.+)"/> . Esta expresión regular busca un elemento product en el documento XML. Observe que, para encontrar el valor de cada atributo (que desconocemos) se usa la expresión etiquetada (.+) dos veces. La expresión etiquetada (.+) encuentra el valor de cada atributo (que se supone será una instancia o varias de cualquier carácter, es decir .+).

4.En el campo Reemplazar introduzca este texto: <product size="\2" id="\1"/> . Esta expresión regular contiene el texto de reemplazo para cada uno de los elementos product que se encontraron. Observe que usa las referencias \1 y \2, que corresponden a las expresiones etiquetadas del campo Buscar. En otras palabras, \1 significa "el valor del atributo id" y \2 significa "el valor del atributo size".

inc-RegexExample02

5.Haga clic en Reemplazar todos _ic_regex_replaceall y observe el resultado. Todos los elementos product del documento XML se reemplazaron de modo que el atributo size aparezca delante del atributo id.

 

 

 

© 2018-2024 Altova GmbH