Reemplazar letras mayúsculas con minúsculas
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 venUs
y no VENUS
.
Puedes:
Buscar: (\w)
Reemplazar con:\L$1
O seleccione el texto, ctrl+ K+ L.
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$2
PERO
\l$1$2
--> solo convertirá la primera letra de$1
a minúscula y dejará todo lo demás como está
Lo mismo ocurre con las mayúsculas con \U
y\u
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:
- Poner en mayúscula las palabras
- Buscar:
(\s)([a-z])
(\s
también coincide con líneas nuevas, es decir, "venuS" => "VenuS") - Reemplazar:
$1\u$2
- palabras sin mayúsculas
- Encontrar:
(\s)([A-Z])
- Reemplazar:
$1\l$2
- Eliminar caja de camello (por ejemplo, cAmelCAse => camelcAse => camelcase)
- Encontrar:
([a-z])([A-Z])
- Reemplazar:
$1\l$2
- Letras minúsculas dentro de las palabras (por ejemplo, LowerCASe => Minúsculas)
- Encontrar:
(\w)([A-Z]+)
- Reemplazar:
$1\L$2
- Reemplazo alternativo:
\L$0
- Letras mayúsculas dentro de palabras (por ejemplo, mayúsculas => MAYÚSCULAS)
- Encontrar:
(\w)([A-Z]+)
- Reemplazar:
$1\U$2
- Mayúscula anterior (por ejemplo, mayúsculas => MAYÚSCULAS)
- Encontrar:
(\w+)([A-Z])
- Reemplazar:
\U$1$2
- Minúscula anterior (por ejemplo, LOWERCase => lowerCase)
- Encontrar:
(\w+)([A-Z])
- Reemplazar:
\L$1$2
- Mayúscula el resto (por ejemplo, mayúsculas => mayúsculas)
- Encontrar:
([A-Z])(\w+)
- Reemplazar:
$1\U$2
- Minúscula el resto (por ejemplo, minúsculas => minúsculas)
- Encontrar:
([A-Z])(\w+)
- Reemplazar:
$1\L$2
- Mayúsculas-derecha-mayúsculas (por ejemplo, Caso => caso => caso => casoE)
- Encontrar:
([a-z\s])([A-Z])(\w)
- Reemplazar:
$1\l$2\u$3
- 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 , \B
buscará 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 \B
es 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
)
- ENCONTRAR:
(\u)
- REEMPLAZAR:
\L$1$2
Operación confirmada en Notepad++.
No olvide marcar la casilla "Coincidir caso".