extraer cadena hasta enter

25/05/2005 - 18:39 por JoseLuis | Informe spam
Hola Grupo:

Deseo extraer del todal de una cadena, una cadena hasta el enter.
tengo el siguinete Texto en una variable de tipo String:

Cadena"CREATE PROCEDURE SpName -- SpName 2 -- descripcion
@A TINYINT
AS
SELECT * FROM Tabla WHERE A= @A"

solo quiero que me devuelva el numero de caracteres de:
"-- SpName 2 -- descripcion" que es el comentario.

Lo intento hacer asi: donde I es 24 el inico de la cadena
nSelLen = InStr(I, Cadena, vbCrLf)
Intento detectar el primer enter que encuentre..pero me devuelve 0.
Alguien me puede ayudar, por favor. hay otra forma de hacerlo?

Gracias
Jose Luis H
Peru-Aqp

Preguntas similare

Leer las respuestas

#6 JoseLuis
25/05/2005 - 22:30 | Informe spam
No encuentra el enter o el vbCrLf o vbCr en un string...nose que esta
pasando.
Debe haber una salida o solución.
Si hay mas ideas las agradecere. mucho

Jose Luis
Respuesta Responder a este mensaje
#7 JoseLuis
25/05/2005 - 23:21 | Informe spam
he encontrado que el valor q me devuelve un enter en .Net es algo asi..

" "c...alguien sabe,como se usan esos valores?
Respuesta Responder a este mensaje
#8 Victor
26/05/2005 - 00:21 | Informe spam
Yo he puesto este codigo y si me regresa la posición del enter.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim txt As String = "Enter" & Chr(13) & "Enter"
Dim pos1 As Integer
pos1 = InStr(txt, vbCr)
MsgBox(pos1.ToString)
End Sub

Me imagino que la cadena la obtienes leyendo un archivo; si es esto, podrías
intentar usando la funcion Replace(txt, vbCr, Chr(13)), para reemplazar el
enter, por el mismo enter u otro caracter que puedas utilizar como
identificador.


"JoseLuis" escribió en el mensaje
news:
Hola Grupo:

Deseo extraer del todal de una cadena, una cadena hasta el enter.
tengo el siguinete Texto en una variable de tipo String:

Cadena> "CREATE PROCEDURE SpName -- SpName 2 -- descripcion
@A TINYINT
AS
SELECT * FROM Tabla WHERE A= @A"

solo quiero que me devuelva el numero de caracteres de:
"-- SpName 2 -- descripcion" que es el comentario.

Lo intento hacer asi: donde I es 24 el inico de la cadena
nSelLen = InStr(I, Cadena, vbCrLf)
Intento detectar el primer enter que encuentre..pero me devuelve 0.
Alguien me puede ayudar, por favor. hay otra forma de hacerlo?

Gracias
Jose Luis H
Peru-Aqp

Respuesta Responder a este mensaje
#9 Tristan
26/05/2005 - 19:25 | Informe spam
¿Pero como has creado ese texto? En windows, con seguridad, el avance de
linea es CRLF, es decir el valor de vbCrLf. Que sea .net no cambia nada.
Siempre es así.

¿El valor de ese texto lo obtienes desde un textbox multiline?

Si es el caso, te recomendaría que utilices la propiedad Lines en lugar de
la propiedad Text. Ya tendrás todo el trabajo hecho. Lines devuelve un array
de strings en el que cada elemento es una linea del textbox:

Dim linea As String
For Each linea In tuTextBox.Lines
MsgBox(linea)
Next

Para tratar la linea 1, solo tendrás que acceder al elemento 0 del array.
Para obtener el texto hasta el final de la linea, solo tendrás que recortar
hasta el final del string.

Si tu texto no viene de un TextBox, puedes usar el método Split para hacer
lo mismo. No el Split de la clase String, puesto que este divide por
caracteres, no por cadenas. Tendrás que usar el Split de la clase Regex:

Imports System.Text.RegularExpressions

Dim separador As New Regex(vbCrLf)
Dim linea As String
For Each linea In separador.Split(TextBox2.Text)
MsgBox(linea)
Next

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#10 J. Carlos Herrrero
26/05/2005 - 20:02 | Informe spam
Hola:
Prueba esto:
En un Form, pones 1 boton, 1 textbox multilinea y 2 label

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim lsCadena As String
Dim liPos As Integer
lsCadena = "En el bosque se alza el castillo negro" & vbCrLf & "despues
del enter"
liPos = lsCadena.IndexOf(vbCr)
Me.TextBox1.Text = lsCadena
Me.Label1.Text = lsCadena.Substring(0, liPos)
Me.Label2.Text = lsCadena.Substring(liPos + 1)
End Sub

Espero que te sirva
Un saludo desde Bilbo:
Carlos

"JoseLuis" escribió en el mensaje
news:
No encuentra el enter o el vbCrLf o vbCr en un string...nose que esta
pasando.
Debe haber una salida o solución.
Si hay mas ideas las agradecere. mucho

Jose Luis
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida