es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo leer un bloque de texto en un archivo de texto.

Tengo un archivo en el cual tengo que leer el texto entre StartScriptExpression$ y FinishScriptExpression$ y también leer entre StartUpdateDescription$ y FinishUpdateDescription$[Test.txt[1]

El problema es que quiero reescribir el código en un formato más limpio.

Mi Código:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace Vesrion
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Development\Desktop\Read\Test.txt";
using (var reader = new StreamReader(path))
{
var textInBetween = new List<string>();
var ListOFDescription = new List<string>();
string NewString = "";

            while (!reader.EndOfStream)
            {
                var line = reader.ReadLine();
              //Lee la primera línea.
                switch (line)
                {
                    case &quot;StartScriptExpression$&quot;:
                        continue;
                    case &quot;FinishScriptExpression$&quot;:
                        if (line.Contains(&quot;FinishScriptExpression$&quot;))
                        {
                            line = &quot;&quot;;
                        }
                        string Something = string.Join(&quot;&quot;, textInBetween);
                        textInBetween = line.Split(&#39;,&#39;).ToList();
                        string[] lines = Something.Split(
                         new string[] { Environment.NewLine },
                             StringSplitOptions.None);
                        foreach (var S in lines)
                        {
                            ListOFDescription.Add(S);
                            Console.WriteLine(S);
                        }

                        NewString += ListOFDescription;

                    break;
                    case &quot;StartUpdateDescription$&quot;:
                        //Console.WriteLine(Environment.NewLine);
                        continue;
                    case &quot;FinishUpdateDescription$&quot;:
                       // Console.WriteLine(Environment.NewLine);
                        continue;
                    default:
                        textInBetween.Add(line);
                        //Console.WriteLine(line);
                        break;

                }
            }

        }

    }

}

}

El texto dentro de la expresión de inicio y final debe estar en una lista de matriz de cadena.

El texto dentro de startupdatedescription y finishupdatedescription debe estar en una cadena.

.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para leer el texto entre “StartScriptExpression$” y “FinishScriptExpression$”, así como entre “StartUpdateDescription$” y “FinishUpdateDescription$” en un formato más limpio, puedes usar el siguiente código:

    usando el sistema;
    usando el sistema.Collections.Generic;
    usando el sistema.IO;
    usando el sistema.Linq;
    
    namespace Version
    {
        clase Programa
        {
            static void Main(string[] args)
            {
                string path = @"C:\Users\Development\Desktop\Read\Test.txt";
    
                var expresionesScript = new List<string>();
                string descripcionActualizacion = string.Empty;
    
                usando (var lector = nuevo StreamReader(path))
                {
                    mientras (!lector.EndOfStream)
                    {
                        var linea = lector.ReadLine();
    
                        si (linea == "StartScriptExpression$")
                        {
                            linea = lector.ReadLine();
                            mientras (linea != "FinishScriptExpression$")
                            {
                                expresionesScript.Add(linea);
                                linea = lector.ReadLine();
                            }
                        }
    
                        si (linea == "StartUpdateDescription$")
                        {
                            linea = lector.ReadLine();
                            mientras (linea != "FinishUpdateDescription$")
                            {
                                descripcionActualizacion += linea;
                                linea = lector.ReadLine();
                            }
                        }
                    }
                }
    
                // Hacer algo con las variables expresionesScript y descripcionActualizacion
            }
        }
    }
    

    Este código lee el archivo línea por línea y verifica las etiquetas de inicio y fin de cada sección de texto. Luego, el texto entre las etiquetas de inicio y fin se agrega a una lista de string o a una variable de string única, según la sección de texto a la que pertenezca. Luego puedes usar estas variables en tu código según sea necesario.

Comments are closed.