Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Eleкtro en 19 Diciembre 2012, 06:36 am



Título: (SOLUCIONADO) String.ToTitleCase (REAL TitleCase)
Publicado por: Eleкtro en 19 Diciembre 2012, 06:36 am
¿Como puedo convertir un string a TitleCase? ya que TextInfo.ToTitleCase en realidad convierte a Word-Case  :-X

Código:
Esto No Es Lo Que Quiero
Código:
Esto si es lo que quiero

Puedo hacerlo de manera rebuscada primero obteniendo y modificando el primer caracter de la variable a UpperCase y luego anexar el resto del string... ¿Pero no hay una manera más...nativa?


Título: Re: String.ToTitleCase (REAL TitleCase)
Publicado por: Novlucker en 19 Diciembre 2012, 13:52 pm
Hasta donde se no hay una manera nativa de hacerlo :-\ En este caso lo mejor es crearse un snippet para tener a mano, e invocarlo desde un método extensor.

Saludos


Título: Re: String.ToTitleCase (REAL TitleCase)
Publicado por: seba123neo en 19 Diciembre 2012, 15:14 pm
proba esto:

Código
  1. Public Class Form1
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.        Dim vTexto As String = "esto es una prueba"
  5.        MsgBox(Char.ToUpper(vTexto(0)) + vTexto.Substring(1))
  6.    End Sub
  7. End Class

la otra forma es hacer split a un array y solo poner la mayuscula en el primer elemento.

saludos.


Título: Re: String.ToTitleCase (REAL TitleCase)
Publicado por: Eleкtro en 19 Diciembre 2012, 16:10 pm
proba esto:

Más o menos hice un code parecido, el tuyo está mucho más simplificado que el mío, gracias!


Título: Re: (SOLUCIONADO) String.ToTitleCase (REAL TitleCase)
Publicado por: Eleкtro en 26 Diciembre 2012, 11:53 am
Al code de Seba123neo le faltaba un pequeño detalle (Modificar el resto del string a lowercase) de lo contrario el ejemplo de arriba sólamente sirve con strings en lowercase xD

Aquí dejo el code para renombrar archivos a Title-Case:

Código
  1.    Private Function RenameToTitleCase(ByVal File As FileInfo)
  2.        Return Char.ToUpper(File.Name.Substring(0, File.Name.IndexOf(File.Extension))(0)) + StrConv(File.Name.Substring(0, File.Name.IndexOf(File.Extension)).Substring(1), VbStrConv.Lowercase)
  3.    End Function

Saludos.