editor de texto buscar reemplazar diferentes palabras


1

Buena noches

Tengo una pregunta sobre algún editor de texto. Estoy usando CotEditor en Mac y quiero encontrar y reemplazar algo especial. Tengo datos .csv que convertí como datos .txt con números. En esta lista hay algún tipo de palabras especiales que quiero encontrar y eliminar todas las demás palabras.

Por ejemplo:

Going with fancy looking rig this week. **@aaw_sg** W500 CIEM, with gold and silver flakes, combined with @nullaudio cable and my faithful Shanling M5

o

If you are in Czech republic this week, be sure to visit Audio Video show Praha 2018. Shanling will be represented by our Czech distributor Gothic @headphones.cz in room 332 on 3rd floor. Visit audio-video-show.cz for more info

¡Quiero filtrar todo @ *!

El fondo es que quiero seguir algunos sitios etiquetados en Instagram y no quiero hacer clic en cada foto y seguir.

¿Alguien me puede ayudar?


Por favor, aclare lo que desea reemplazar: ¿quiere decir la expresión regular @*!, o todos los caracteres del grupo [@*!], o algo más?
AFH

Me refiero a todas las letras que comienzan en "@" y terminan con el siguiente espacio.
SporeTinte049

El RE es "@ [^] *", que reemplaza con "" (sin comillas en ninguno de los casos, pero incluido aquí para delimitar las cadenas). Esto no eliminará "@string" al final de una línea si no hay espacio final.
AFH

Respuestas:


1

Usa algo como @\S+.

Dónde:

  • @ significa literalmente "@"
  • \S+ significa 1 o más cualquier personaje que no sea un espacio.

Editar de acuerdo al comentario:

Usando notepad ++, puede hacer de una pasada: (También funciona en SublimeText)

  • Ctrl+H
  • Encontrar que: (?:^|\G)[^@]+(@\S+|$)
  • Reemplazar con: $1\n
  • comprobar Ajustar
  • comprobar expresión regular
  • Replace all

Explicación:

(?:     : non capture group
  ^     : beginning of line
 |      : R
  \G    : position of last match
)       : end group
[^@]+   : 1 or more any character that is not @
(       : start group 1
  @\S+  : @ followed by any non space character
 |      : OR
  $     : end of line
)       : end group 1

Reemplazo:

$1      : content of group 1
\n      : line feed, you could change it for the linebreak you need

Resultado para el ejemplo dado:

@aaw_sg
@nullaudio
@headphones.cz

¿Es posible ver lo contrario de lo que sugirió? Porque su sugerencia está haciendo lo correcto, pero solo quiero tener todas las letras que comienzan en "@" y terminan con el siguiente espacio. Por ejemplo: desde mi primer ejemplo solo debe haber: '@aaw_sg @nullaudio' Mi segundo ejemplo: '@ auriculares.cz'
SporeTinte049

@ SporeTinte049: He actualizado mi respuesta.
Toto

@ SporeTinte049: De nada, me alegra que ayude.
Toto

0

Si el uso de su expresión regular es específico de la cuenta de Instagram, @[a-zA-Z0-9._]+sería la cadena de búsqueda.

cf. Límite de caracteres en los nombres de usuario de Instagram -Stack Overflow

regex para eliminar todos los caracteres que no son de cuenta

La siguiente expresión regular de dos pasos eliminaría todos los caracteres pero dejaría las cuentas de Instagram.

  1. eliminar todos los caracteres que no sean de cuenta
    • encontrar cadena: (@[a-zA-Z0-9._]+|^)(.+?)(?=@|$)
    • cadena de reemplazo: $1
  2. insertar espacios entre cuentas
    • encontrar cadena: (?<=[a-zA-Z0-9._])@
    • picadura de reemplazo: @

Con tu expresión regular muestra lo que quiero tener, pero cuál es la expresión regular para mostrar lo contrario. Quiero encontrar todos los detalles específicos de la cuenta de Instagram y reemplazarlos con nada
SporeTinte049

Eso es realmente difícil. Actualicé mi publicación original. ¿Te refieres a algo como esto?
1024jp

Sí, pero cuando subo la primera viñeta de "eliminar todos los caracteres que no son de cuenta" y hago clic en reemplazar todo: ¡todo se elimina! Enlace para ver el problema: ibb.co/fakAFS ibb.co/iuqcvS ibb.co/hKBvh7
SporeTinte049

0

En el editor de CudaText (gratis) puede crear un nuevo archivo de texto con cuentas @nnn:

  • llame al cuadro de diálogo Buscar, ingrese regex @[\w\.]+
  • presione el botón "Seleccionar todo"
  • copiar selecciones al portapapeles (Editar / Copiar)
  • crear nueva pestaña, pegar desde el portapapeles (Editar / Pegar)
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.