---
title: "Ersätta speciell rad i en fil"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/117507-ersätta-speciell-rad-i-en-fil"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Razofish"
published: "2004-12-06T23:27:28.000Z"
updated: "2004-12-09T08:03:34.000Z"
replies: 10
views: 436
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/117507-ersätta-speciell-rad-i-en-fil"
---

# Ersätta speciell rad i en fil

## #1 — Razofish, 2004-12-06T23:27Z

Hej!

Jag har en vanlig textfil som innehåller div. inställningar för en serverapplikation och tänkte skapa ett roterade schema för ett lösenord.
Filen ser ut såhär:

```
variabel1 "värde"
variabel2 "värde"
variabel3 "värde"
variabel4 "värde"
variabel5 "värde"
```

Hur gör jag enklast för att ersätta "värdet" för t.ex. variabel3

Språket är C#

Permalänk: https://www.webforum.nu/p/117507

## #2 — Marcus E, 2004-12-07T00:17Z

Du frågade efter den enklaste metoden. Det är att använda en annan lagringsmetod, t.ex. XML-fil eller databas.

Om du vill använda en textfil är det enklast (och säkrast) att läsa in hela filen först och sedan skapa en ny på hårddisken som ersätter den gamla.

Permalänk: https://www.webforum.nu/p/1500609

## #3 — Razofish, 2004-12-07T09:11Z

Då jag själv inte utvecklat serverapplikationen är XML-fil / databas inget alternativ.

Permalänk: https://www.webforum.nu/p/1500676

## #4 — Marcus E, 2004-12-07T09:47Z

Då får jag hoppas att det andra alternativet fungerar.

Permalänk: https://www.webforum.nu/p/1500690

## #5 — Razofish, 2004-12-07T10:28Z

Men frågan återstår ju fortfarande:

> Hur gör jag enklast för att ersätta "värdet" för t.ex. variabel3

Permalänk: https://www.webforum.nu/p/1500704

## #6 — Marcus E, 2004-12-07T11:29Z

Jag svarade på frågan. Om du inte är nöjd med svaret får du förklara vad det är för fel på det.

"att läsa in hela filen först och sedan skapa en ny på hårddisken som ersätter den gamla"

Vad är problemet? Att läsa in filen, tolka filen, ersätta strängen eller spara den?  Jag hjälper gärna till med enskilda problem men du kan inte förvänta dig en färdig lösning.

IndexOf kan användas för att hitta värdet du vill ersätta och StringBuilder.Replace kan användas för att ersätta en del av strängen. I detta fall kan det vara bra att tolka filen rad för rad genom att dela upp strängen i rader med t.ex. Split eller Substring. Du kan också läsa in filen rad för rad om du föredrar det.

Som du har förstått finns det inget superenkelt sätt.

Permalänk: https://www.webforum.nu/p/1500732

## #7 — Razofish, 2004-12-07T12:15Z

Okej, mitt problem är att kunna tolka filen och ersätta strängen. StringBuilder.Replace är jag med på hur jag kan använda. Men det jag vill ha svar på är hur jag hittar just innehållet för variabeln3, alltså texten mellan " ".

Permalänk: https://www.webforum.nu/p/1500755

## #8 — Marcus E, 2004-12-07T15:05Z

Ta reda på var varje rad börjar och slutar genom att söka efter radbrytningar ("\\r\\n").

Jämför sedan om raden börjar med det den ska börja med och ersätt hela raden med Replace om det är rätt rad.

Du kan också söka efter mellanrum eller " om du vill plocka ut enskilda delar från raden.

Permalänk: https://www.webforum.nu/p/1500816

## #9 — xcalibrate, 2004-12-07T17:06Z

Private Function ReadSpecificLine(FindString As String)
Dim strInput As String
Dim f As Integer

f = FreeFile

Open "C:\\hej.txt" For Input As f

Do Until Left(strInput, Len(FindString)) = FindString
    Input #f, strInput
Loop

Close f

ReadSpecificLine = Mid(strInput, Len(FindString) + 2, Len(strInput))
End Function

KOnvertera bara ovanstånede funktion till .NET (det är v6 nu) så kan du göra det. Jag gjorde funktionen för nått år sedan och den funkar utmärkt.

Permalänk: https://www.webforum.nu/p/1500878

## #10 — Nöff, 2004-12-07T21:30Z

Razofish..

det bästa sättet är att connecta mot textfilen med ett command objekt och använda SQL för att query:a i textfilen, och då kan du också använda de gamla hederliga UPDATE INSERT för att lägga till rader och ändra i dem... 

<http://www.webforum.nu/showthread.php?postid=957401#post957401>

Permalänk: https://www.webforum.nu/p/1500996

## #11 — Razofish, 2004-12-09T08:03Z

Nu har jag läst in hela filen i en StringBuilder och går igenom den rad för rad.

```
_sb.Replace("Äppel","Banan");
```

Denna byter ju ut Äppel mot Banan, men går det att koda så den byter ut hela raden som innehåller Äppel mot Banan och inte bara den specifika strängen "Äppel"

Tack för alla tips!

Permalänk: https://www.webforum.nu/p/1501658

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/117507-ersätta-speciell-rad-i-en-fil
