Notepad ++: ¿cómo reemplazar texto específico en líneas con diferentes valores?


1

Estoy modificando un juego. Quiero cambiar ciertos números pero necesito hacerlo de una manera específica.

Por ejemplo:

soldado Jinetes, 24, 0, 1

Quiero reemplazar el número 24 pero no alterar ningún otro valor en la línea, sino también alterar cualquier otra línea que contenga el número 24 y que comience con el soldado.

Entonces, cualquier línea que se vea así:

soldado NOMBRE, 24, #, #

Sin afectar nada más en esa línea y poder hacerlo independientemente del nombre u otros valores en esa línea.

¿Puedo hacer eso? ¿Cómo puedo hacer eso?


La única forma de hacer esto que tiene sentido es, de hecho, mediante el uso de expresiones regulares. Sin embargo, aprender a usarlos viene con una fuerte curva de aprendizaje. Tienes suerte de que @wlod haya proporcionado una solución, pero comprenderlo y poder realizar cambios en él podría ser un desafío. Solo quería hacerle saber que esta es la única forma de hacerlo. No hay realmente una alternativa ...
Wouter

Respuestas:


1

Las expresiones regulares de Notepad ++ usan el PCRE estándar

He usado el editor en línea regex101.com con el SABOR seleccionado para ' pcre '. La misma expresión regular funcionó como encanto en N ++.

La entrada ficticia que he usado:

soldier NAME1, 24, 0, 1
soldier NAME2, 25, 1, 2
soldier NAME3, 26, 2, 3
soldier NAME4, 27, 3, 4
soldier NAME5, 28, 4, 5
soldier NAME6, 29, 5, 6
soldier NAME7, 30, 6, 7
machine NAME8, 24, 7, 8
Xsoldier NAME9, 24, 8, 9
soldier NAME10, 24, 9, 10

Salida esperada:
solo se deben modificar la primera y la última línea. El número '24' debe reemplazarse con un nuevo valor.

La expresión regex:

^soldier\s+(?:[^\,]+\,\s+)\K24(?=\,\s+\d+\,\s+\d+)

Ahora puede usar Ctrl + H estándar, 'Buscar qué' debe rellenarse con la expresión y 'Reemplazar con' con el nuevo valor. Asegúrese de que 'Ajustar' esté marcado y que 'Modo de búsqueda' esté configurado en 'Expresión regular'.

Al hacer clic en 'Reemplazar todo' se reemplazarán todos los números '24' con un nuevo valor especificado.


0

Sí, necesitas usar una expresión regular

Ver también tutorial


1
Esto es solo enlaces a información general en lugar de una solución procesable a la pregunta, por lo que sería más apropiado como comentario. Pero incluso si se tratara de enlaces a una solución, los enlaces externos pueden romperse, en cuyo caso la respuesta no tendría ningún valor. Las respuestas deben ser independientes; los enlaces son solo para atribución y referencia suplementaria.
Fixer1234
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.