Autor
|
Tema: Me explican que esta sucediendo aquí!! (Leído 3,287 veces)
|
TrashAmbishion
Desconectado
Mensajes: 756
|
Hola,
frase[0] = "eyes";
frase[0].Replace(frase[0].Substring(0, 1), frase[0].Substring(0, 1).ToUpper());
Lo que pretendo es poner la primera letra en mayúsculas pero en cambio me saca EyEs...
Me explican porque.
Saludos
|
|
|
En línea
|
|
|
|
Serapis
|
Claro... Observa, desgranando los parámetros quien es reamplazado = frase[0].Substring(0, 1) quien le sustituye = frase[0].Substring(0, 1).ToUpper()
frase[0].Replace(quien es remplazado, quien le sustituye)
Como quiera que el carácter a remplazar (0,1) es la 'e', y que se remplaza todas sus apariciones por 'E'... pués el resultado obtenido es correcto, pero no el deseado... Prueba con: frase[0] = "elefante valiente"
Verás que todas las 'e' acaban siendo mayúsculas. Con solo 2 'e' en una palabra tan corta, es posible que te cueste más verlo claro... Si lo que buscas es poner (solo) la primera letra en mayúsculas, hay varios modos, he aquí uno de ellos: string s = frase[0].substring(0,1).toUpper // toma el primer caracter y lo comvierte a mayúsculas frase[0] = s + frase[0].substring(1,frase[0].length-1) // concatena detrás el resto de la cadena.
.
|
|
|
En línea
|
|
|
|
TrashAmbishion
Desconectado
Mensajes: 756
|
Hola,
Gracias por la pronta respuesta.
Pero en teoría estoy especificando que lo que deseo modificar sera el primer carácter o no?
O substring hace una búsqueda de ese carácter en toda la cadena?
Saludos
|
|
|
En línea
|
|
|
|
Serapis
|
No. Tu estás haciendo un Replace. Tus 'substring' solo señalan que se será remplazado y por quien será remplazado... Esto es, tus substrings, son los parámetros de la orden Remplazar. Tu estás haciendo esto: frase[0] = "eyes";
frase[0].Replace("e", "E");
|
|
|
En línea
|
|
|
|
TrashAmbishion
Desconectado
Mensajes: 756
|
Ah el replace es el de la cuestión...
Es que asumí otra cosa con el, me hice la idea que se remplazaba ese carácter nada mas..
replace("a","d")
No asumí que buscaba todas las "a" en la cadena
Vale, muchas gracias, todo bien
|
|
|
En línea
|
|
|
|
Danielㅤ
Desconectado
Mensajes: 1.825
🔵🔵🔵🔵🔵🔵🔵
|
Hola, pues si, el método Replace() reemplaza todas las coincidencias encontradas con el patrón dado.
Saludos
|
|
|
En línea
|
|
|
|
**Aincrad**
|
Yo lo haría así : Dim Frase As String = "eyes" Frase = Frase.Substring(0, 1).ToUpper + Frase.Remove(0, 1)
en C#: string Frase = "eyes"; Frase = Frase.Substring(0, 1).ToUpper() + Frase.Remove(0, 1);
y la salida es : "Eyes"
|
|
|
En línea
|
|
|
|
LastChance
Especial
Desconectado
Mensajes: 8
|
Suponiendo que solo tengas una palabra y quieras volver mayúscula la primera letra de esa palabra, es decir, lo que haces en el ejemplo que mostraste, entonces puedes simplificar el código haciendo uso de la función: CultureInfo.InvariantCulture.TextInfo.ToTitleCase()string str = "eyes"; str = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(str);
Si por lo contrario lo que pretendes es volver mayúscula la primera letra de la primera palabra en conjunto de palabras o frase, pues ya te han dado soluciones. Aunque yo lo haría de la siguiente manera: string str = "eyes"; str = $"{char.ToUpper(str.First())}{str.Remove(0, 1)}";
O de esta otra forma si además necesitas volver minúscula los demás caracteres de la palabra: string str = "eyes"; str = $"{char.ToUpper(str.First())}{str.Remove(0, 1).ToLower()}";
Saludos.
|
|
« Última modificación: 15 Mayo 2021, 20:30 pm por LastChance »
|
En línea
|
sdfsdf
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¡MessengerFlooder 2.0 ya está aquí!
« 1 2 »
Mensajería
|
BlackNightmare
|
10
|
10,914
|
5 Junio 2010, 18:39 pm
por saut
|
|
|
¿Que significa '\0' y para que sirve/se usa?
Programación C/C++
|
Aikanáro Anário
|
6
|
33,326
|
23 Enero 2013, 15:53 pm
por daniel077
|
|
|
Ya esta aqui wifiway 2.0.1 !!!
Wireless en Linux
|
orion999
|
2
|
3,115
|
13 Octubre 2010, 22:01 pm
por luiti
|
|
|
Referendum en Cataluña. ¿Que está sucediendo?
« 1 2 »
Foro Libre
|
buite
|
17
|
7,353
|
3 Octubre 2017, 12:42 pm
por Eleкtro
|
|
|
No se si poner esta duda aquí...
Programación General
|
lordluisiv
|
2
|
2,502
|
24 Julio 2019, 19:53 pm
por lordluisiv
|
|