Reemplazar letras mayúsculas con minúsculas

Resuelto leemour asked hace 10 años • 9 respuestas

Estoy intentando reemplazar las letras mayúsculas con las letras minúsculas correspondientes usando expresiones regulares. De modo que

EarTH:   1,
MerCury: 0.2408467,
venuS:   0.61519726,

se convierte

earth:   1,
mercury: 0.2408467,
venus:   0.61519726,

en Texto Sublime. ¿Cómo puedo reducir las letras en minúsculas solo en palabras que contienen letras minúsculas y mayúsculas? Para que afecte venUsy no VENUS.

leemour avatar Dec 23 '13 17:12 leemour
Aceptado

Puedes:

Buscar: (\w) Reemplazar con:\L$1

O seleccione el texto, ctrl+ K+ L.

Alex K. avatar Dec 23 '2013 11:12 Alex K.

Pensé que esto también podría resultar útil para otros:

encontrar:

  • ([A-Z])(.*)

reemplazar:

  • \L$1$2--> convertirá todas las letras en$1 minúsculas $2PERO
  • \l$1$2--> solo convertirá la primera letra de $1a minúscula y dejará todo lo demás como está

Lo mismo ocurre con las mayúsculas con \Uy\u

dGo avatar Nov 04 '2014 18:11 dGo

Antes de buscar con expresiones regulares como [A-Z], debe presionar el botón que distingue entre mayúsculas y minúsculas (o Alt+ C) (como leemour sugirió editar en la respuesta aceptada). Para que quede claro, dejo algunos otros ejemplos:

  1. Poner en mayúscula las palabras
  • Buscar: (\s)([a-z])( \stambién coincide con líneas nuevas, es decir, "venuS" => "VenuS")
  • Reemplazar:$1\u$2
  1. palabras sin mayúsculas
  • Encontrar:(\s)([A-Z])
  • Reemplazar:$1\l$2
  1. Eliminar caja de camello (por ejemplo, cAmelCAse => camelcAse => camelcase)
  • Encontrar:([a-z])([A-Z])
  • Reemplazar:$1\l$2
  1. Letras minúsculas dentro de las palabras (por ejemplo, LowerCASe => Minúsculas)
  • Encontrar:(\w)([A-Z]+)
  • Reemplazar:$1\L$2
  • Reemplazo alternativo:\L$0
  1. Letras mayúsculas dentro de palabras (por ejemplo, mayúsculas => MAYÚSCULAS)
  • Encontrar:(\w)([A-Z]+)
  • Reemplazar:$1\U$2
  1. Mayúscula anterior (por ejemplo, mayúsculas => MAYÚSCULAS)
  • Encontrar:(\w+)([A-Z])
  • Reemplazar:\U$1$2
  1. Minúscula anterior (por ejemplo, LOWERCase => lowerCase)
  • Encontrar:(\w+)([A-Z])
  • Reemplazar:\L$1$2
  1. Mayúscula el resto (por ejemplo, mayúsculas => mayúsculas)
  • Encontrar:([A-Z])(\w+)
  • Reemplazar:$1\U$2
  1. Minúscula el resto (por ejemplo, minúsculas => minúsculas)
  • Encontrar:([A-Z])(\w+)
  • Reemplazar:$1\L$2
  1. Mayúsculas-derecha-mayúsculas (por ejemplo, Caso => ​​caso => ​​caso => ​​casoE)
  • Encontrar:([a-z\s])([A-Z])(\w)
  • Reemplazar:$1\l$2\u$3
  1. Mayúsculas-izquierda-mayúsculas (por ejemplo, CasE => CaSe => CAse => Caso)
  • Encontrar:(\w)([A-Z])([a-z\s])
  • Reemplazar:\u$1\l$2$3

Con respecto a la pregunta (emparejar palabras con al menos una letra mayúscula y una minúscula y ponerlas en minúsculas), el comentario-respuesta de leemour es la respuesta correcta . Solo para aclarar, si solo hay un grupo para reemplazar, puede usarlo ?:en los grupos internos (es decir, grupos sin captura ) o evitar crearlos en absoluto:

  • Buscar: ((?:[a-z][A-Z]+)|(?:[A-Z]+[a-z]))O([a-z][A-Z]+|[A-Z]+[a-z])
  • Reemplazar:\L$1

2016-06-23 Editar

Tyler sugirió al editar esta respuesta una expresión de búsqueda alternativa para el n.° 4:

  • (\B)([A-Z]+)

Según la documentación , \Bbuscará un carácter que no esté en el límite de la palabra (es decir, ni al principio ni al final). Puede usar el botón Reemplazar todo y hace exactamente lo mismo que si tuviera (\w)([A-Z]+)la expresión de búsqueda.

Sin embargo, la desventaja \Bes que no permite reemplazos únicos, tal vez debido a la restricción de "no límite" de find (edítelo si conoce el motivo exacto).

2023-08-24 Editar

Para finalizar el cambio de mayúsculas y minúsculas, utilice\E

  • reemplazar: $1\L$2\E$3 (por ejemplo (ABC)(ABC)(ABC)=> ABCabcABC)
Armfoot avatar Oct 26 '2015 16:10 Armfoot
  • ENCONTRAR: (\u)
  • REEMPLAZAR: \L$1$2

Operación confirmada en Notepad++.
No olvide marcar la casilla "Coincidir caso".

Max Ta avatar Jun 30 '2022 06:06 Max Ta