| 
	
		|  Autor | Tema: Extraer string entre "[" y "]"  (Leído 3,559 veces) |  
	| 
			| 
					
						| extreme69 
								
								 Desconectado 
								Mensajes: 178
								
								 
								Be BlackHat but don't forget your principles.
								
								
								
								
								
								   | 
 
Tengo: asd = aitheoiethi[BLABLABLA]taihoithaoihtoeaY necesito "BLABLABLA" en la variable asd2. Probé con Mid, Split, Left, Right, pero en todos los casos tengo que saber las posiciones, y no sé cuantos caracteres va a tener "BLABLABLA" ni cuantos caracteres hay antes ni después. ¿Será que primero tengo que ver en que posición del string está el "[", luego hacer lo mismo con el "]" y una vez que sé las posiciones hacer un mid? ¿o hay alguna manera más fácil/rápida?
 
 |  
						| 
								|  |  
								| « Última modificación: 17 Septiembre 2011, 01:37 am por extreme69 » |  En línea | 
 
 |  |  |  | 
			| 
					
						| DarkMatrix 
								
								 Desconectado 
								Mensajes: 150
								
								 
								Nuestro Limite es la Imaginacion
								
								
								
								
								
								     | 
 
Public Function StrBetween(Cadena As String, SubCadena1 As String, Subcadena2 As String) As String     Dim Pos1 As Integer, Pos2 As Integer     Pos1 = InStr(UCase(Cadena), UCase(SubCadena1)) + 1    Pos2 = InStr(UCase(Cadena), UCase(Subcadena2))     If Pos1 <> 0 And Pos2 <> 0 Then         StrBetween = Mid$(Cadena, Pos1, Pos2 - Pos1)     End If End Function Private Sub Form_Load()     Dim ASd  As String    Dim Asd2 As String     ASd = "aitheoiethi[BLABLABLAkjhuihui]taihoithaoihtoea"    Asd2 = StrBetween(ASd, "[", "]")     MsgBox Asd2 End Sub
 Por hay tambien hay una funcion que hizo Psyke1, espero que te sirva... 
 
 |  
						| 
								|  |  
								| « Última modificación: 17 Septiembre 2011, 01:56 am por DarkMatrix » |  En línea | 
 
 Todo aquello que no se puede hacer, es lo que no intentamos hacer. Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)  Desing by DarkMatrix |  |  |  | 
			| 
					
						| extreme69 
								
								 Desconectado 
								Mensajes: 178
								
								 
								Be BlackHat but don't forget your principles.
								
								
								
								
								
								   | 
 
Excelente, muchas gracias.    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| BlackZeroX 
								Wiki  Desconectado 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
. ¿Será que primero tengo que ver en que posición del string está el "[", luego hacer lo mismo con el "]" y una vez que sé las posiciones hacer un mid? ¿o hay alguna manera más fácil/rápida?
 que comes que adivinas... Cita: http://visual-coders.herobo.com/blog/?p=1  '------------------------------------------------------------------------' *Function : Text_Between_Words' *Author   : *PsYkE1*' *Mail     : vbpsyke1@mixmail.com' *Date     : 10/4/10' *Purpose  : It returns the text wich is between two words' *Recommended Websites :'       http://foro.rthacker.net/'       http://InfrAngeluX.Sytes.Net/'------------------------------------------------------------------------Option ExplicitPublic Function Text_Between_Words(ByVal sTextToAnalyze As String, ByVal sStartWord As String, ByVal sEndWord As String) As StringDim iPosition1                  As IntegerDim iPosition2                  As IntegerDim iStart                      As Integer    iPosition1 = InStr(sTextToAnalyze, sStartWord)    If CBool(iPosition1) Then        iStart = iPosition1 + Len(sStartWord)        iPosition2 = InStr(iStart, sTextToAnalyze, sEndWord)        If CBool(iPosition2) Then            Text_Between_Words = Mid$(sTextToAnalyze, iStart, iPosition2 - iStart)        End If    End IfEnd Function  
  Debug.Print Text_Between_Words("El contexto es el ámbito de referencia de un texto. ¿Qué entiendo por ámbito de referencia?.", "referencia", "referencia")  
 Dulces Lunas!¡. |  
						| 
								|  |  
								| « Última modificación: 17 Septiembre 2011, 04:07 am por BlackZeroX▓▓▒▒░░ » |  En línea | 
 
 The Dark Shadow is my passion. |  |  |  | 
			| 
					
						| seba123neo | 
 
Private Sub Form_Load() MsgBox TextoEntreMedio("aitheoiethi[BLABLABLA]taihoithaoihtoea", "[", "]")End Sub Private Function TextoEntreMedio(Texto As String, Palabra1 As String, Palabra2 As String) TextoEntreMedio = Left$(Mid$(Texto, InStr(Texto, Palabra1) + Len(Palabra1)), InStr(Mid$(Texto, InStr(Texto, Palabra1) + Len(Palabra1)), Palabra2) - 1)End Function
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| BlackZeroX 
								Wiki  Desconectado 
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								     | 
 
 Private Sub Form_Load() MsgBox TextoEntreMedio("aitheoiethi[BLABLABLA]taihoithaoihtoea", "(", "]")End Sub  
 Dulces Lunas!¡. |  
						| 
								|  |  
								|  |  En línea | 
 
 The Dark Shadow is my passion. |  |  |  | 
			| 
					
						| Psyke1 
								Wiki  Desconectado 
								Mensajes: 1.089
								
								     | 
 
Un poco mejorada: Option Explicit Public Static Function TextBetweenWords$(ByRef sText$, ByVal sWord1$, ByVal sWord2$)Dim lPos1&, lPos2&, lStart&    If LenB(sText) Then        lPos1 = InStrB(1, sText, sWord1, vbBinaryCompare)        If lPos1 Then            lStart = lPos1 + LenB(sWord1)            lPos2 = InStrB(lStart, sText, sWord2, vbBinaryCompare)            If lPos2 Then                TextBetweenWords = MidB$(sText, lStart, lPos2 - lStart)            End If        End If    End IfEnd Function  Private Sub Form_Load()    Debug.Print TextBetweenWords("qwertysdfcv [raul338 es feo] prueba", "[", "]")End Sub
 Devuelve: 
 Y con RegExp: DoEvents!   |  
						| 
								|  |  
								| « Última modificación: 17 Septiembre 2011, 16:53 pm por Psyke1 » |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | """BUSCO EJEMPLO VB PARA ENVIAR MAILS"""" Programación Visual Basic
 | gera | 1 | 7,599 |  1 Septiembre 2005, 00:14 am por programatrix
 |  
						|   |   | De donde puedo descargar utilidades: "Formas", "Estilos", "Motivos", D Diseño Gráfico
 | Ad0nis | 2 | 10,273 |  2 Septiembre 2006, 15:48 pm por Ad0nis
 |  
						|   |   | [Ayuda] modificar "start page" en "internet explorer" con "batch" Scripting
 | taton | 7 | 18,901 |  20 Septiembre 2006, 01:45 am por taton
 |  
						|   |   | Propiedad "Interprete"/"Artista"/"Autor" de una canción Windows
 | Castg! | 4 | 11,484 |  16 Junio 2010, 07:58 am por Roy-Mustang
 |  
						|   |   | Sistema>>Administracion>> ""No me aparece "Servicios"""" GNU/Linux
 | yoyoalee | 4 | 11,399 |  13 Febrero 2011, 18:34 pm por leogtz
 |    |