Estoy tratando de usar Notepad ++ para fusionar varias líneas en una. El problema al que me enfrento es cuando intento este código, obtengo este resultado:
Date/Time:
Sequence:
Event:
Category:
Priority:
Attention:
Alert:
Visibility:
Description:
Codes:
Type:
Location:
Logged by:
Encontrar: (.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)
Reemplazar con:
\1\t\2\t\3\t\4\t\5\t\6\t\7\t\8\t\9\t\10\t\11\t\12\t\13\t
Resultado:
Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Date/Time:0 Date/Time:1 Date/Time:2 Date/Time:3
¿Alguien puede ayudar de una manera más fácil o más corta? No puedo resaltar el texto y seleccionar unir líneas. El documento tiene miles de estos resultados y estoy tratando de simplificar. Siempre es un conjunto de 13.
TextFX
Plugin en Notepad ++, proporciona una opción de menúTextFX>TextFX Edit>Unwrap Text
que hace lo que necesitas? También podría haber reemplazado\r\n
con\t
en modo de búsqueda extendidaRespuestas:
Opción 1: cambie su reemplazo para usar números entre llaves:
Editar : cadena de reemplazo corregida
\ g {1} \ t \ g {2} \ t \ g {3} \ t \ g {4} \ t \ g {5} \ t \ g {6} \ t \ g {7} \ t \ g {8} \ t \ g {9} \ t \ g {10} \ t \ g {11} \ t \ g {12} \ t \ g {13} \ tOpción 2: su cadena de coincidencia para incluir grupos con nombre:
Y, cambie la cadena de reemplazo para usar esos grupos:
Editar : cadena de reemplazo corregida
\ g {a} \ t \ g {b} \ t \ g {c} \ t \ g {d} \ t \ g {e} \ t \ g {f} \ t \ g {g} \ t \ g {h} \ t \ g {i} \ t \ g {j} \ t \ g {k} \ t \ g {l} \ t \ g {m}Su elección, aunque la opción 1 es menos trabajo, la opción 2 también puede ser útil.
Nueva Nota : Los nombres en la opción 2,
<a>
y{a}
no están limitados a un carácter. Pueden ser cualquier cadena de tipo 'nombre' que desee, siempre que esté en el rango normal de letras, números y guiones bajos. No estoy seguro si otros caracteres especiales, incluidos los espacios, son válidos. Es mejor evitarlos, por si acaso.fuente
\g{12}
y\g{name}
son para referencias posteriores en la búsqueda misma. Aquí están las versiones corregidas: 1) En lugar de\g{12}
uso${12}
. Entonces es${1}\t${2}\t${3}\t${4}\t${5}\t${6}\t${7}\t${8}\t${9}\t${10}\t${11}\t${12}\t${13}
. 2) En lugar de\g{a}
usar$+{a}
, así es$+{a}\t$+{b}\t$+{c}\t$+{d}\t$+{e}\t$+{f}\t$+{g}\t$+{h}\t$+{i}\t$+{j}\t$+{k}\t$+{l}\t$+{m}
. Tenga en cuenta que en ambas versiones no hay` before the
$. For version 2 the search string stays the same. BTW the
(? <a> ... `no está limitado a 1 carácter. Puede ser(?<my_flag_15>...
, por ejemplo.Método 1
Buscar → Reemplazar ...
Método 2
Editar → Operaciones en blanco → EOL al espacio
fuente
Si todo el conjunto de 13 líneas comienza
Date/Time:
, puede hacer esto. Reemplazará todos los saltos de línea que no sean seguidos porDate/Time
una tabulación:\R(?!Date/Time:)
\t
Explicación:
Resultado para 3 conjuntos de líneas:
fuente