Gracias otra vez
Keyen, las expresiones regulares se usarlas (al menos en otros lenguajes), pero yo esto
{0} nunca lo habia visro en un RegEx, y por más que busco información sobre que es... ni idea, y para colmo la usas al principio, la usas en medio (en una agrupación), y la vuelves a usar al final del regex, no he podido trabajar el patrón porque no sé que significa el
{0} XD
Tu ejemplo me falla al encontrar un espacio en el string, he intentado añadirle
(s) al patrón pero... como ya te digo con tanto
{0} no sé por donde cojer la expresión.
Dim Expresión As String = String.Format("{0}[^{0}]+?{0}", Convert.ToChar(32))
'Esta variable simula la que tu creas en tu aplicación'
Dim Comando As String = String.Format(playerargs, Convert.ToChar(32))
For Each x As Match In Regex.Matches(Comando, Expresión)
MessageBox.Show(x.Value)
Next
Si la variable contiene la cadena
"C:\carpeta\con espacios" el messagebox solo me muestra:
"C:\Carpeta\Con, incluido la comilla, que tambien se la debería quitar... un rollo
EDITO: Ya lo he solucionado:
Str = Replace(playerargs, " " & ControlChars.Quote, "")
' El contenido de Cadena queda así: C:\Ruta 1"C:\Ruta 2"C:\Ruta 3"etc..."
He intentado hacer esto otro por mi cuenta, y me está dando mejores resultados...
El problema es que creo que en el array se guardan cadenas vacías,
si pudiera omitirlas con un "If NOTHING" me conformo, de hecho así es como las omito en este code, pero me sigue fallando una, solamente una... y no se como evitarla:
Dim Str As String
' Elimino los espacios entre argumentos
Str = Replace(playerargs, " " & ControlChars.Quote, ControlChars.Quote)
' El contenido de Cadena queda así: "C:\Ruta 1""C:\Ruta 2""Más rutas..."
' El patrón delimitador (comilla)
Dim Pattern As String = ControlChars.Quote
Dim ArgsArray() As String 'Creamos un array
ArgsArray = Split(Str, Pattern) 'Llenamos el array con las cadenas cortadas.
' Mostramos como ha quedado el resultado
End If
If randomize.Checked = True Then
' RandomiseFile("c:\1.txt")
End If
primero me muestra una caja vacía:
(Es la cadena que quiero evitar, para la función que tengo que darle más tarde al array, que no quiero que me de error...)
y luego me muestra una caja de texto con cada "argumento", sin mostrarme ninguna otra caja vacía: