Uso de búsqueda / reemplazo de comodines en Notepad ++

17

Aquí está mi problema: en un archivo .txt, necesito encontrar y reemplazar miles de instancias de sintaxis como esta:

(ver (a053007djfgspwdf))

o

(ver (a053007djfgspwdf) y (a54134xsedgeg))

o

(ver (a053007djfgspwdf), (a9554xsdfgsdfg) y (a54134xsedgeg))

Hay mucha variedad entre las cadenas de texto de inicio (ver ( ay el final )) . ¿Se puede configurar esto en Notepad ++ usando regex? Si es así, ¿cómo haría eso? ¡Gracias!

Michael Tuck
fuente

Respuestas:

17

Lo siento amigos, solo encuentro otras respuestas complicadas. (Sin faltar el respeto a los carteles originales).

Como esto siempre aparece como el primer resultado de búsqueda, agregaré esto en:

  1. Abra el cuadro de diálogo buscar / reemplazar ( CTRL+ Fluego la pestaña reemplazar)
  2. Marque "Expresión regular" en la parte inferior
  3. Use. * Como comodín

Por ejemplo, quería eliminar todas las instancias de abp = "1314", abp = "1313", abp = "1312", etc. (básicamente, los números son todos diferentes, por lo que desea que se elimine un comodín).

En el cuadro de diálogo reemplazar:

Encuentra en qué: abp=".*"
Reemplazar con:

(Estás reemplazando cualquier cosa dentro de esas citas sin nada para deshacerte de ella)

Fuente: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/

SweetSuzie
fuente
15

¡Sí puede! Notepad ++ tiene un modo de búsqueda RegEx que puede seleccionar para todas sus necesidades de reemplazo de RegEx.

El siguiente ejemplo es un reemplazo básico para cualquier cosa (see (a...))con la excepción de un salto de línea. Es posible que deba modificar el RegEx o escribir el suyo para satisfacer sus necesidades. Aquí hay un gran lugar para ayudarlo junto con la experimentación.

RegEx: \(see \(a.+\)\)

Cuerdas combinadas:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))


Reemplazar (ver (a ...)) con reemplazo

una vez
fuente
¡Gracias! Encontró las instancias del primer ejemplo (ver (a053007djfgspwdf)) pero no las otras. Aún así, un gran comienzo. Jugaré con él para ver qué más puedo hacer. Si tiene más sugerencias, lo agradecería mucho. Gracias de nuevo.
Michael Tuck
¿Hizo clic en Reemplazar todo o continuó haciendo clic en Reemplazar para recorrer las coincidencias de manera similar al uso de Buscar siguiente ? ¿El texto que está buscando solo comienza (see (ay termina con ))? Si tiene cadenas que terminan con un paréntesis simple, puede convertir el último \)en el grupo de captura (\)|)para que coincida con las cadenas que terminan en ))"o" ).
one.time
Intenté algunos reemplazos, luego Reemplazar todos. Después de eso, la cadena de búsqueda no encontró nada. El texto para todos es: (vea un texto variado )) Sin cadenas con paréntesis simples, excepto quizás errores tipográficos.
Michael Tuck
Actualicé mi respuesta con un RegEx alternativo (\(see \(a|\(a)([^\)]+)\)(\)|)que coincidirá con las cadenas de su pregunta.
one.time
LOL actualizaste tu respuesta mientras yo editaba mi respuesta. Probaré el nuevo.
Michael Tuck
1

Pruebe este patrón: \(see \(a(.*)\)y asegúrese de tener ". Coincide con la nueva línea" sin marcar y "envolver" marcado.

ethmz
fuente
1

Como algunos de estos eran demasiado profundos para que yo los entendiera, permítanme mostrarles lo que hice después de leer todas estas soluciones y más para finalmente comprenderlo mejor. (este es un enfoque simple, puede que no sea el mejor)

Quería eliminar todos los elementos de mi figura en toda la página web. Figura 2.1, Figura 1.1, ect.

Era:

<p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Quería que terminara:

 <p class="td1-content b8"><span class="stepNumber">2.  </span>Select Memo from the toolbar</p>

Pero cada

tenía un número de Figura diferente, así que lo usé en el sublime texto 2.

  1. Ctrl H
  2. haga clic en el símbolo ". *" en la parte inferior derecha del texto Sublime 2, (expresión regular)
  3. mecanografiado <br><b>Figure.*</b>
  4. reemplazar con: -izquierdo en blanco

Esto reemplazó todas mis instancias con figuras en él. aviso que usé. * donde los números habrían estado. Espero que esto ayude.

Jim Schwetz
fuente
0

La expresión regular exacta que necesitarías es:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Por ejemplo:

ingrese la descripción de la imagen aquí

Al seleccionar Buscar todo en el documento actual , el resultado sería:

ingrese la descripción de la imagen aquí

Simplemente puede usar Reemplazar según su necesidad en su lugar.

Si desea incluir atambién en la expresión regular, puede usar:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)
Roney Michael
fuente