Foros del Web » Programación para mayores de 30 ;) » .NET »

Obtener un string de una cadena

Estas en el tema de Obtener un string de una cadena en el foro de .NET en Foros del Web. Hola amigos! Necesito una pequeña ayuda; tengo esta cadena 04:24: Marcelo Vidal has left the game Necesito extraer el nombre del usuario o sea: Marcelo ...
  #1 (permalink)  
Antiguo 20/08/2011, 09:08
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 7 meses
Puntos: 0
Exclamación Obtener un string de una cadena

Hola amigos!
Necesito una pequeña ayuda; tengo esta cadena

04:24: Marcelo Vidal has left the game

Necesito extraer el nombre del usuario o sea: Marcelo Vidal
O sea necesito encontrar lo que está entre los ultimos dos puntos (:) hasta la palabra "has left the game" que es Marcelo Vidal

Alguien sabe como puedo hacerlo o alguna pagina de referencia ?
  #2 (permalink)  
Antiguo 20/08/2011, 09:32
 
Fecha de Ingreso: abril-2010
Mensajes: 66
Antigüedad: 14 años, 1 mes
Puntos: 4
Respuesta: Obtener un string de una cadena

Cita:
Iniciado por german_martin Ver Mensaje
Hola amigos!
Necesito una pequeña ayuda; tengo esta cadena

04:24: Marcelo Vidal has left the game

Necesito extraer el nombre del usuario o sea: Marcelo Vidal
O sea necesito encontrar lo que está entre los ultimos dos puntos (:) hasta la palabra "has left the game" que es Marcelo Vidal

Alguien sabe como puedo hacerlo o alguna pagina de referencia ?
Siempre la cadena va a terminar con has left the game????? si es asi creo que esta podria ser una solucion

Código:
 Dim CadenaPartida() As String
        CadenaPartida = "04:24: Marcelo Vidal has left the game".Split({":"}, StringSplitOptions.RemoveEmptyEntries)

        MsgBox("El nombre es: " & Replace(CadenaPartida(CadenaPartida.Length - 1), "has left the game", "").Trim)
  #3 (permalink)  
Antiguo 20/08/2011, 09:46
Usuario no validado
 
Fecha de Ingreso: junio-2010
Ubicación: Guatemala
Mensajes: 196
Antigüedad: 13 años, 10 meses
Puntos: 25
Mensaje Respuesta: Obtener un string de una cadena

Saludos, puedes utilizar los metodos IndexOf y LastIndexOf para obtener los delimitantes del nombre que quieres extraer.

La siguiente función puede extraer la información que necesitas, sin embargo tienes que agregarle manejo de errores en el caso que el string que estes utilizando no cumpla con los requisitos que mencionaste (por ejemplo que este el string vacio).

Código csharp:
Ver original
  1. private string extractName(string sValue)
  2. {
  3.     string sName;
  4.     int iStart = sValue.LastIndexOf(':');               // Posición del caracter
  5.     int iEnd = sValue.IndexOf("has left the game");     // Posición del mensaje final
  6.  
  7.     iStart += 2;                                        // Sumamos dos posiciones
  8.     iEnd -= 1;                                          // Quitamos una posición
  9.  
  10.     sName = sValue.Substring(iStart, iEnd - iStart);    // Extraemos el valor
  11.     return sName;
  12. }
  #4 (permalink)  
Antiguo 20/08/2011, 09:57
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Obtener un string de una cadena

es cuestion de que pases la cadena a un array de chars y te la juegues alli comparando letra por letra con un for :

Código vb:
Ver original
  1. Dim cadena As String = "04:24: Marcelo Vidal has left the game"
  2.         Dim nuevaCadena As String = String.Empty
  3.         Dim a As Char() = cadena.ToCharArray
  4.         Dim total As Integer = cadena.Length() - 1
  5.         Dim contador As Integer = 0
  6.  
  7.         For i As Integer = 0 To total
  8.             If a(i).ToString.Equals(":") Then
  9.                 contador = contador + 1
  10.             End If
  11.  
  12.  
  13.             If contador >= 2 Then
  14.                 If Not a(i).ToString.Equals(":") Then
  15.                     If cadena.Substring(i).ToString.Trim.Equals("has left the game") Then
  16.                         TextBox1.Text = nuevaCadena.Trim
  17.                         Exit For
  18.                     Else
  19.                         nuevaCadena = nuevaCadena & a(i).ToString()
  20.                     End If
  21.                 End If
  22.             End If
  23.         Next
Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 20/08/2011, 09:59
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Obtener un string de una cadena

Hahaha cuando escribia no vi que estaban las respuestas anteriores... probá con cualquiera. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #6 (permalink)  
Antiguo 20/08/2011, 10:21
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Obtener un string de una cadena

muchas gracias a todos!!!

Etiquetas: game, left, marcelo, vidal
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.