elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema con IsMatch en Regex
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con IsMatch en Regex  (Leído 11,256 veces)
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Problema con IsMatch en Regex
« Respuesta #10 en: 3 Agosto 2013, 00:00 am »

A ver te explico lo de las MsgBox que es lo que más me incumbe...

Se supone que por cada reemplazo que haga se tiene que registrar luego en un log, como en el Anti-malware bytes... Pero claro... Si le meto aquí: Case Result.StartsWith("""") AndAlso Result.EndsWith("""") algún Value o un File append, StreamWriter que luego vaya al Log, por cada cual que empiece y termine por comillas, lo va a registrar en el Log como que se ha reemplazado, pero claro, y si no hubiese hecho el reemplazo?

Meto un If Result.Was Replaced Then nananana.TofileAppend etc etc

Como saco yo si lo ha hecho o no... Por eso lo de las MsgBox... A ver si ahora lo pillas... :P


« Última modificación: 3 Agosto 2013, 00:02 am por Ikillnukes » En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.874



Ver Perfil
Re: Problema con IsMatch en Regex
« Respuesta #11 en: 3 Agosto 2013, 00:20 am »

Usa un Boolean y cambia al estado True/False cuando reemplazes, así sabrás si has reemplazado o no lo has hecho...

Saludos


« Última modificación: 3 Agosto 2013, 00:24 am por EleKtro H@cker » En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Problema con IsMatch en Regex
« Respuesta #12 en: 3 Agosto 2013, 13:17 pm »

Ahá... ;D

Código
  1. Select Case True
  2.  
  3.                    Case Result.StartsWith("'") AndAlso Result.EndsWith("'")
  4.                        Dim posResultado = Result
  5.                        Dim preResultado = String.Format("'{0}'", Result.Substring(1, Result.Length - 2).Replace("'", "\'"))
  6.                        MsgBox(preResultado)
  7.                        If Not preResultado = posResultado Then
  8.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  9.                        End If
  10.  
  11.                    Case Result.StartsWith("'") AndAlso Not Result.EndsWith("'")
  12.                        Dim posResultado = Result
  13.                        Dim preResultado As String = String.Format("'{0}", Result.Substring(1, Result.Length - 1).Replace("'", "\'"))
  14.                        MsgBox(preResultado & "'")
  15.                        MsgBox("Msg: #2 (String arreglada; Error #1: [Faltaba la última comilla])", MsgBoxStyle.Information, "Información")
  16.                        If Not preResultado = posResultado Then
  17.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  18.                        End If
  19.  
  20.                    Case Not Result.StartsWith("'") AndAlso Result.EndsWith("'")
  21.                        Dim posResultado = Result
  22.                        Dim preResultado As String = Result.Replace("'", "\'")
  23.                        MsgBox("'" & preResultado)
  24.                        MsgBox("Msg: #2 (String arreglada; Error: #2: [Faltaba la primera comilla])", MsgBoxStyle.Information, "Información")
  25.                        If Not preResultado = posResultado Then
  26.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  27.                        End If
  28.  
  29.                    Case Not Result.StartsWith("'") AndAlso Not Result.EndsWith("'") AndAlso Result.Contains("'")
  30.                        Dim posResultado = Result
  31.                        Dim preResultado As String = String.Format("{0}", Result.Replace("'", "\'"))
  32.                        MsgBox("'" & preResultado & "'")
  33.                        MsgBox("Msg: #2 (String arreglada; Error: #3: [Faltaban las comillas de extremos])", MsgBoxStyle.Information, "Información")
  34.                        If Not preResultado = posResultado Then
  35.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  36.                        End If
  37.  
  38.                        '-----------------------
  39.  
  40.                    Case Result.StartsWith("""") AndAlso Result.EndsWith("""")
  41.                        Dim posResultado = Result
  42.                        Dim preResultado = String.Format("""{0}""", Result.Substring(1, Result.Length - 2).Replace("""", "\"""))
  43.                        MsgBox(preResultado)
  44.                        If Not preResultado = posResultado Then
  45.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  46.                        End If
  47.  
  48.                    Case Result.StartsWith("""") AndAlso Not Result.EndsWith("""")
  49.                        Dim posResultado = Result
  50.                        Dim preResultado As String = String.Format("""{0}", Result.Substring(1, Result.Length - 1).Replace("""", "\"""))
  51.                        MsgBox(preResultado & """")
  52.                        MsgBox("Msg: #2 (String arreglada; Error #1: [Faltaba la última comilla])", MsgBoxStyle.Information, "Información")
  53.                        If Not preResultado = posResultado Then
  54.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  55.                        End If
  56.  
  57.                    Case Not Result.StartsWith("""") AndAlso Result.EndsWith("""")
  58.                        Dim posResultado = Result
  59.                        Dim preResultado As String = Result.Replace("""", "\""")
  60.                        MsgBox("""" & preResultado)
  61.                        MsgBox("Msg: #2 (String arreglada; Error: #2: [Faltaba la primera comilla])", MsgBoxStyle.Information, "Información")
  62.                        If Not preResultado = posResultado Then
  63.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  64.                        End If
  65.  
  66.                    Case Not Result.StartsWith("""") AndAlso Not Result.EndsWith("""") AndAlso Result.Contains("""")
  67.                        Dim posResultado = Result
  68.                        Dim preResultado As String = String.Format("{0}", Result.Replace("""", "\"""))
  69.                        MsgBox("""" & preResultado & """")
  70.                        MsgBox("Msg: #2 (String arreglada; Error: #3: [Faltaban las comillas de extremos])", MsgBoxStyle.Information, "Información")
  71.                        If Not preResultado = posResultado Then
  72.                            MsgBox("Msg: #1 (String Cambiada)", MsgBoxStyle.Information, "Información")
  73.                        End If
  74.  
  75.                    Case Else
  76.                        MsgBox(Result)
  77.  
  78.                End Select

Yo he usado un If, si quieres mejorar mi Snippet... Pues mejor... :P

Para dudas que estén dentro de este code, pero no tenga que ver con el Regex ni el IsMatch, creo un nuevo topic o con este ya vale? :huh:
« Última modificación: 3 Agosto 2013, 13:41 pm por Ikillnukes » En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.874



Ver Perfil
Re: Problema con IsMatch en Regex
« Respuesta #13 en: 3 Agosto 2013, 14:12 pm »

Yo he usado un If, si quieres mejorar mi Snippet... Pues mejor... :P

Usa un Boolean y cambia al estado True/False cuando reemplazes, así sabrás si has reemplazado o no lo has hecho...

Repites en 24 lineas exáctamente el mismo código...

Código
  1. Dim IsValueReplaced as boolean = false
  2.  
  3. private sub ()...
  4.  
  5. Select Case True
  6.  
  7.     Case loquesea
  8.         IsValueReplaced = true
  9.         Dim Resultado = String.Format("'{0}'", Result.Substring(1, Result.Length - 2).Replace("'", "\'"))
  10.         MsgBox(Resultado)
  11.  
  12.     Case loquesea 2
  13.         IsValueReplaced = true
  14.         Dim Resultado As String = String.Format("'{0}", Result.Substring(1, Result.Length - 1).Replace("'", "\'"))
  15.         MsgBox(Resultado & "'")
  16.  
  17.     Case loquesea 3
  18.         IsValueReplaced = true
  19.         Dim Resultado As String = Result.Replace("'", "\'")
  20.         MsgBox("'" & Resultado)
  21.  
  22.    ' More Cases...
  23.  
  24.     Case Else
  25.         MsgBox(Result)
  26.  
  27. End Select
  28.  
  29.    If IsValueReplaced Then MessageBox.Show("Msg: #1 (String Cambiada)", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
  30.  
  31.    IsValueReplaced = false
  32.  
  33. end sub


Saludos
« Última modificación: 3 Agosto 2013, 14:22 pm por EleKtro H@cker » En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Problema con IsMatch en Regex
« Respuesta #14 en: 3 Agosto 2013, 14:25 pm »

Una duda, así de cerca... Y sin probar nada...

Si meto ese code en primer Case que es solo comprobar si tiene comillas al principio y al final... No va a cambiar siempre que se cumpla esa condición y no cuando se reemplace...?
En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.874



Ver Perfil
Re: Problema con IsMatch en Regex
« Respuesta #15 en: 3 Agosto 2013, 14:34 pm »

No entiendo tu pregunta (para variar), pero si te lo pongo es por algo.

el código que está fuera del select case sucede independientemente de las condiciones que se hayan dado... así que si el valor se ha reemplazado pues mostrará el msgbox...
... y al final del bloque siempre se reinicia la variable a False, así que...no hay problemas...

practícalo un poco....

saludos
En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Problema con IsMatch en Regex
« Respuesta #16 en: 3 Agosto 2013, 14:46 pm »

Código final:

Código
  1.            Dim lines As String() = File.ReadAllLines(TextBox1.Text)
  2.  
  3.            Dim MaxCommas As Integer = CountCharacter(lines(0), ",")
  4.  
  5.            Dim TimesSplitted As Integer = 0
  6.  
  7.            For Each Result As String In Regex.Split(Line, ",|\n")
  8.  
  9.                Select Case True
  10.  
  11.                    Case Result.StartsWith("'") AndAlso Result.EndsWith("'")
  12.                        Dim posResultado = Result
  13.                        Dim preResultado = String.Format("'{0}'", Result.Substring(1, Result.Length - 2).Replace("'", "\'"))
  14.                        Try
  15.  
  16.                            If File.Exists(PathArchivo3) Then
  17.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  18.                            Else
  19.                                strStreamW = File.Create(PathArchivo3)
  20.                            End If
  21.  
  22.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  23.  
  24.                            Dim Splittado As String = Nothing
  25.  
  26.                            TimesSplitted += 1
  27.  
  28.                            If TimesSplitted = MaxCommas Then
  29.                                Splittado = Environment.NewLine
  30.                            ElseIf TimesSplitted < MaxCommas Then
  31.                                Splittado = ","
  32.                            End If
  33.  
  34.                            strStreamWriter.Write(preResultado & Splittado)
  35.  
  36.                            strStreamWriter.Close()
  37.  
  38.                            strStreamW = Nothing
  39.                            strStreamWriter = Nothing
  40.  
  41.                        Catch ex As Exception
  42.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  43.                            strStreamWriter.Close()
  44.                        End Try
  45.                        If Not preResultado = posResultado Then
  46.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  47.                        End If
  48.  
  49.                    Case Result.StartsWith("'") AndAlso Not Result.EndsWith("'")
  50.                        Dim posResultado = Result
  51.                        Dim preResultado As String = String.Format("'{0}", Result.Substring(1, Result.Length - 1).Replace("'", "\'"))
  52.                        Try
  53.  
  54.                            If File.Exists(PathArchivo3) Then
  55.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  56.                            Else
  57.                                strStreamW = File.Create(PathArchivo3)
  58.                            End If
  59.  
  60.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  61.  
  62.                            Dim Splittado As String = Nothing
  63.  
  64.                            TimesSplitted += 1
  65.  
  66.                            If TimesSplitted = MaxCommas Then
  67.                                Splittado = Environment.NewLine
  68.                            ElseIf TimesSplitted < MaxCommas Then
  69.                                Splittado = ","
  70.                            End If
  71.  
  72.                            strStreamWriter.Write(preResultado & "'" & Splittado)
  73.  
  74.                            strStreamWriter.Close()
  75.  
  76.                            strStreamW = Nothing
  77.                            strStreamWriter = Nothing
  78.  
  79.                        Catch ex As Exception
  80.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  81.                            strStreamWriter.Close()
  82.                        End Try
  83.                        TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error #1: [Faltaba la última comilla])")
  84.                        If Not preResultado = posResultado Then
  85.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  86.                        End If
  87.  
  88.                    Case Not Result.StartsWith("'") AndAlso Result.EndsWith("'")
  89.                        Dim posResultado = Result
  90.                        Dim preResultado As String = Result.Replace("'", "\'")
  91.                        Try
  92.  
  93.                            If File.Exists(PathArchivo3) Then
  94.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  95.                            Else
  96.                                strStreamW = File.Create(PathArchivo3)
  97.                            End If
  98.  
  99.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  100.  
  101.                            Dim Splittado As String = Nothing
  102.  
  103.                            TimesSplitted += 1
  104.  
  105.                            If TimesSplitted = MaxCommas Then
  106.                                Splittado = Environment.NewLine
  107.                            ElseIf TimesSplitted < MaxCommas Then
  108.                                Splittado = ","
  109.                            End If
  110.  
  111.                            strStreamWriter.Write("'" & preResultado & Splittado)
  112.  
  113.                            strStreamWriter.Close()
  114.  
  115.                            strStreamW = Nothing
  116.                            strStreamWriter = Nothing
  117.  
  118.                        Catch ex As Exception
  119.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  120.                            strStreamWriter.Close()
  121.                        End Try
  122.                        TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error: #2: [Faltaba la primera comilla])")
  123.                        If Not preResultado = posResultado Then
  124.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  125.                        End If
  126.  
  127.                    Case Not Result.StartsWith("'") AndAlso Not Result.EndsWith("'") AndAlso Result.Contains("'")
  128.                        Dim posResultado = Result
  129.                        Dim preResultado As String = String.Format("{0}", Result.Replace("'", "\'"))
  130.                        Try
  131.  
  132.                            If File.Exists(PathArchivo3) Then
  133.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  134.                            Else
  135.                                strStreamW = File.Create(PathArchivo3)
  136.                            End If
  137.  
  138.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  139.  
  140.                            Dim Splittado As String = Nothing
  141.  
  142.                            TimesSplitted += 1
  143.  
  144.                            If TimesSplitted = MaxCommas Then
  145.                                Splittado = Environment.NewLine
  146.                            ElseIf TimesSplitted < MaxCommas Then
  147.                                Splittado = ","
  148.                            End If
  149.  
  150.                            strStreamWriter.Write("'" & preResultado & "'" & Splittado)
  151.  
  152.                            strStreamWriter.Close()
  153.  
  154.                            strStreamW = Nothing
  155.                            strStreamWriter = Nothing
  156.  
  157.                        Catch ex As Exception
  158.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  159.                            strStreamWriter.Close()
  160.                        End Try
  161.                        TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error: #3: [Faltaban las comillas de extremos])")
  162.                        If Not preResultado = posResultado Then
  163.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  164.                        End If
  165.  
  166.                        '-----------------------
  167.  
  168.                    Case Result.StartsWith("""") AndAlso Result.EndsWith("""")
  169.                        Dim posResultado = Result
  170.                        Dim preResultado = String.Format("""{0}""", Result.Substring(1, Result.Length - 2).Replace("""", "\"""))
  171.                        Try
  172.  
  173.                            If File.Exists(PathArchivo3) Then
  174.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  175.                            Else
  176.                                strStreamW = File.Create(PathArchivo3)
  177.                            End If
  178.  
  179.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  180.  
  181.                            Dim Splittado As String = Nothing
  182.  
  183.                            TimesSplitted += 1
  184.  
  185.                            If TimesSplitted = MaxCommas Then
  186.                                Splittado = Environment.NewLine
  187.                            ElseIf TimesSplitted < MaxCommas Then
  188.                                Splittado = ","
  189.                            End If
  190.  
  191.                            strStreamWriter.Write(preResultado & Splittado)
  192.  
  193.                            strStreamWriter.Close()
  194.  
  195.                            strStreamW = Nothing
  196.                            strStreamWriter = Nothing
  197.  
  198.                        Catch ex As Exception
  199.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  200.                            strStreamWriter.Close()
  201.                        End Try
  202.                        If Not preResultado = posResultado Then
  203.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  204.                        End If
  205.  
  206.                    Case Result.StartsWith("""") AndAlso Not Result.EndsWith("""")
  207.                        Dim posResultado = Result
  208.                        Dim preResultado As String = String.Format("""{0}", Result.Substring(1, Result.Length - 1).Replace("""", "\"""))
  209.                        Try
  210.  
  211.                            If File.Exists(PathArchivo3) Then
  212.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  213.                            Else
  214.                                strStreamW = File.Create(PathArchivo3)
  215.                            End If
  216.  
  217.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  218.  
  219.                            Dim Splittado As String = Nothing
  220.  
  221.                            TimesSplitted += 1
  222.  
  223.                            If TimesSplitted = MaxCommas Then
  224.                                Splittado = Environment.NewLine
  225.                            ElseIf TimesSplitted < MaxCommas Then
  226.                                Splittado = ","
  227.                            End If
  228.  
  229.                            strStreamWriter.Write(preResultado & """" & Splittado)
  230.  
  231.                            strStreamWriter.Close()
  232.  
  233.                            strStreamW = Nothing
  234.                            strStreamWriter = Nothing
  235.  
  236.                        Catch ex As Exception
  237.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  238.                            strStreamWriter.Close()
  239.                        End Try
  240.                        TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error #1: [Faltaba la última comilla])")
  241.                        If Not preResultado = posResultado Then
  242.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  243.                        End If
  244.  
  245.                    Case Not Result.StartsWith("""") AndAlso Result.EndsWith("""")
  246.                        Dim posResultado = Result
  247.                        Dim preResultado As String = Result.Replace("""", "\""")
  248.                        Try
  249.  
  250.                            If File.Exists(PathArchivo3) Then
  251.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  252.                            Else
  253.                                strStreamW = File.Create(PathArchivo3)
  254.                            End If
  255.  
  256.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  257.  
  258.                            Dim Splittado As String = Nothing
  259.  
  260.                            TimesSplitted += 1
  261.  
  262.                            If TimesSplitted = MaxCommas Then
  263.                                Splittado = Environment.NewLine
  264.                            ElseIf TimesSplitted < MaxCommas Then
  265.                                Splittado = ","
  266.                            End If
  267.  
  268.                            strStreamWriter.Write("""" & preResultado & Splittado)
  269.  
  270.                            strStreamWriter.Close()
  271.  
  272.                            strStreamW = Nothing
  273.                            strStreamWriter = Nothing
  274.  
  275.                        Catch ex As Exception
  276.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  277.                            strStreamWriter.Close()
  278.                        End Try
  279.                        TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error: #2: [Faltaba la primera comilla])")
  280.                        If Not preResultado = posResultado Then
  281.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  282.                        End If
  283.  
  284.                    Case Not Result.StartsWith("""") AndAlso Not Result.EndsWith("""") AndAlso Result.Contains("""")
  285.                        Dim posResultado = Result
  286.                        Dim preResultado As String = String.Format("{0}", Result.Replace("""", "\"""))
  287.                        Try
  288.  
  289.                            If File.Exists(PathArchivo3) Then
  290.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  291.                            Else
  292.                                strStreamW = File.Create(PathArchivo3)
  293.                            End If
  294.  
  295.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  296.  
  297.                            Dim Splittado As String = Nothing
  298.  
  299.                            TimesSplitted += 1
  300.  
  301.                            If TimesSplitted = MaxCommas Then
  302.                                Splittado = Environment.NewLine
  303.                            ElseIf TimesSplitted < MaxCommas Then
  304.                                Splittado = ","
  305.                            End If
  306.  
  307.                            strStreamWriter.Write("""" & preResultado & """" & Splittado)
  308.  
  309.                            strStreamWriter.Close()
  310.  
  311.                            strStreamW = Nothing
  312.                            strStreamWriter = Nothing
  313.  
  314.                        Catch ex As Exception
  315.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  316.                            strStreamWriter.Close()
  317.                        End Try
  318.                        TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error: #3: [Faltaban las comillas de extremos])")
  319.                        If Not preResultado = posResultado Then
  320.                            TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  321.                        End If
  322.  
  323.                    Case Else
  324.                                                Try
  325.  
  326.                            If File.Exists(PathArchivo3) Then
  327.                                strStreamW = File.Open(PathArchivo3, FileMode.Append)
  328.                            Else
  329.                                strStreamW = File.Create(PathArchivo3)
  330.                            End If
  331.  
  332.                            strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  333.  
  334.                            Dim Splittado As String = Nothing
  335.  
  336.  
  337.                            TimesSplitted += 1
  338.  
  339.                            If TimesSplitted = MaxCommas Then
  340.                                Splittado = Environment.NewLine
  341.                            ElseIf TimesSplitted < MaxCommas Then
  342.                                Splittado = ","
  343.                            End If
  344.  
  345.                            strStreamWriter.Write(Result & Splittado)
  346.  
  347.                            strStreamWriter.Close()
  348.  
  349.                            strStreamW = Nothing
  350.                            strStreamWriter = Nothing
  351.  
  352.                        Catch ex As Exception
  353.                            TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  354.                            strStreamWriter.Close()
  355.                        End Try
  356.  
  357.                End Select
  358.            Next Result

Voy a comer y pruebo tu code ;)
« Última modificación: 3 Agosto 2013, 14:54 pm por Ikillnukes » En línea


Interesados hablad por Discord.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.874



Ver Perfil
Re: Problema con IsMatch en Regex
« Respuesta #17 en: 3 Agosto 2013, 14:56 pm »

No sé ni para que me molesto en explicarte técnicas de simplificación de código si sigues haciendo lo mismo con el streamwritter, y todas las variables e if's que hay alrededor...

¿No entiendes que todo ese código que repites 100 veces lo puedes usar para todos los Cases sin tener que repetirlo dentro de cada Case?

EDITO: de 78 lineas (sin simplificar) has pasado a 358 (igual)

Cada uno que programe como quiera... eres libre, pero yo por mi parte me rindo, no aporto más a este tema,
saludos!
« Última modificación: 3 Agosto 2013, 14:59 pm por EleKtro H@cker » En línea



z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Problema con IsMatch en Regex
« Respuesta #18 en: 3 Agosto 2013, 15:00 pm »

Citar
Voy a comer y pruebo tu code

Pues esperate bicho! :P

Ara vengo... :P



Tengo un problema en el Split cuando se trata de nuevas líneas si hay comillas, por alguna razón hace esto:

Citar
...NULL, NULL, 'Final de una línea\'
'12334, NULL, 'Nueva línea jodida', NULL...

Que puedo hacer? :-\



Mejor explicado:

A ver, tengo este input: http://pastebin.com/7LFYfVnC
Este output final de dos archivos: http://pastebin.com/bdENKrqW (INSERTS.sql) y http://pastebin.com/4NXwBnZz (Variables.sql)
Y este output (supuestamente arreglado): http://pastebin.com/qc2FUXGT

Como puedes observar, todas las líneas finales que acaben por comilla están jodidas, a ver si puedes arreglar algo tu, o por lo menos decirme lo que está mal puesto... :-\

Estoy intentando arreglarlo con este code:

Código
  1. Dim ContentFile As String = File.ReadAllText(PathArchivo3)
  2.            Dim prefinalText As String = Regex.Replace(ContentFile, ".[']$\n[']", "'")
  3.            Dim finalText As String = Regex.Replace(prefinalText, "\n", "")
  4.  
  5.            Try
  6.  
  7.  
  8.                If File.Exists(PathArchivo4) Then
  9.                    strStreamW = File.Open(PathArchivo4, FileMode.Append)
  10.                Else
  11.                    strStreamW = File.Create(PathArchivo4)
  12.                End If
  13.  
  14.                strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
  15.  
  16.                strStreamWriter.Write(finalText)
  17.  
  18.                strStreamWriter.Close()
  19.  
  20.                strStreamW = Nothing
  21.                strStreamWriter = Nothing
  22.  
  23.            Catch ex As Exception
  24.                TextBox3.AppendText("Error al Guardar la información en el archivo. " & ex.ToString)
  25.                strStreamWriter.Close()
  26.            End Try

Este es el code general:

http://pastebin.com/ZSpJ8gcz

Siiiii, todavía me faltan poner las Booleans luego al final de todo se las pongo... :P



Ya he arreglado todo, ahora solo me falta lo de las booleans y el log! :P



No he usado Booleans, he usado esto:

Código
  1.                If remError = "1" Then
  2.  
  3.                ElseIf remWarning = "1" Then
  4.  
  5.                ElseIf remMsg = "1" Then
  6.                    TextBox3.AppendText(Environment.NewLine & "Msg: #1 (String Cambiada)")
  7.                ElseIf remError = "1" Then
  8.                    TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error #1: [Faltaba la última comilla])")
  9.                ElseIf remError = "2" Then
  10.                    TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error: #2: [Faltaba la primera comilla])")
  11.                ElseIf remError = "3" Then
  12.                    TextBox3.AppendText(Environment.NewLine & "Msg: #2 (String arreglada; Error: #3: [Faltaban las comillas de extremos])")
  13.                ElseIf remError = "4" Then
  14.                    TextBox3.AppendText(Environment.NewLine & "Error al Guardar la información en el archivo. ")
  15.                End If
  16.  
  17.                remError = Nothing
  18.                remWarning = Nothing
  19.                remMsg = Nothing

Es un sistema parecido... :P
« Última modificación: 3 Agosto 2013, 20:55 pm por Ikillnukes » En línea


Interesados hablad por Discord.
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[SOURCE] RegEx .NET
.NET (C#, VB.NET, ASP)
Eleкtro 3 4,094 Último mensaje 11 Septiembre 2013, 16:53 pm
por Eleкtro
[Solucionado]Duda con regex « 1 2 »
Java
.:UND3R:. 14 7,717 Último mensaje 26 Noviembre 2013, 21:05 pm
por .:UND3R:.
Orden de regex en java
Java
.:UND3R:. 2 1,921 Último mensaje 26 Noviembre 2013, 23:35 pm
por .:UND3R:.
php no soporta regex complejo
PHP
franfis 6 3,257 Último mensaje 30 Marzo 2014, 15:22 pm
por franfis
Ayuda con Regex
Programación General
BlackM4ster 0 1,816 Último mensaje 19 Abril 2014, 14:17 pm
por BlackM4ster
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines