Datensätze kürzen.

habeKA

Grünschnabel
Hi,
habe da mal ein Problem.Ich bin grade C# am lernen und soll eine Textdatei mit 56 Datensätze einlesen und diese per Console anzeigen lassen und dann in eine .doc speichern.
Die Datensätze sehn so aus :

123456789Text
123456789Text
123456789Text
etc

Hm das Auslesen ist kein Problem nur .Ich lese den Text ein, geh den zeile für zeile durch und las das ausgeben. Nur das Problem ist das die ersetn 9 Zeichen / Zahlen nicht mit übernommen werden sollen.
Das einzige was die tolle MSDN auspuckt ist das.
Code:
                                int found = 0;
		foreach (string s in info) 
		{
			found = s.IndexOf("1");
		    Console.WriteLine(s.Substring(found + 9 ).Trim());
		}
Wenn ich das jetzt in mein code rein bastel, bekomme ich nen error .

So meine Frage nun wie kann ich das in meinem Code ( folgt unten) einbaun das die ersten 9 Zahlen /zeichen nicht übernommen werden.

Code:
using System;
using System.Text;
using System.IO;

namespace Hörtest
{
	/// <summary>
	/// Zusammenfassung für Class1.
	/// </summary>
	class Class1
	{
		/// <summary>
		/// Der Haupteinstiegspunkt für die Anwendung.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{

			string[] seite;
			seite = new string[100];
			Console.WriteLine ("Was wollen sie machen?\n");
			Console.WriteLine ("Daten lesen.....................L");
			Console.WriteLine ("Daten lesen und Speicher........S");
			Console.WriteLine ("Programm beenden................Q\n");
			Console.Write ("Programmwahl: ");
			string progwahl = Console.ReadLine ();

			if ((progwahl == "l") || (progwahl == "L"))
			{
				Console.WriteLine ("\n\nBitte geben sie den Pfad und den Namen der zu öffnenden Datei ein.\n");
				Console.WriteLine ("Fals die Datei auf A liegt und NAME Text heißt drücken sie A\n");
				Console.Write ("Pfad: ");
				string pfad = Console.ReadLine ();
				if ((pfad == "a") || (pfad == "A"))
				{
					pfad = "H:\\datei.txt"; //pfad und datei zu Test zwecken festgelegt
				}

			
				
				String line = "";
				try 
				{
					StreamReader reader = new StreamReader(pfad);
					while ((line = reader.ReadLine()) != null) 
					{
						Console.WriteLine(line);
					}
					reader.Close();
					Console.ReadLine();
				}
				catch 
				{
					// Fehler beim Öffnen der Datei
				}
			}
		}
	}}

p.s: Habt gnade mit mir ich programmier erst seid 2 wochen mit C#
 
Hi,

das was du brauchst dürfte die Substring-Methode sein.
Also in deinem Beispiel eben wie folgt:

Code:
Console.WriteLine(line.Substring(9));

mfg
 
Code:
Console.WriteLine(line.Substring(9));

bringt leider nix. Kompelier normal kein Fehler aber es wir immernoch

123456789Test
123456789Test
etc

angezeigt und nicht

Test
Test.

Naja wär ja auch zu einfach :)
 
hab mir eine Datei erstellt mit folgendem inhalt.
Code:
123456789bla
123456789bla
123456789bla
123456789bla

Und folgendes TestProgramm ausgeführt:
Code:
string pfad = @"C:\testdatei.txt";
            
            try {
                StreamReader reader = new StreamReader(pfad);
                while ((line = reader.ReadLine()) != null) {
                    Console.WriteLine(line.Substring(9));
                }
                reader.Close();                
            } catch {
                Console.WriteLine("Fehler");
            }
            Console.ReadLine();

Und habe folgende Ausgabe erhalten:
Code:
bla
bla
bla
bla

d.h. es muss funktionieren.
 
Zurück