2014-10-22 5 views
1

흠. 그래서 나는 제목이 충분히 설명한다고 생각한다. 희망이 누군가가 대답이 있습니다. 고마워 ... 내가해야 할 일은 텍스트 파일의 문자열을 다른 것으로 대체하는 것이다. 어떤 아이디어? 당신이 조금 더 어려운 모든 단어를 교체해야하는 경우.txt 파일의 특정 단어/문자열을 다른 단어/문자열로 바꿉니다. VB.NET

File.WriteAllText(path, File.ReadAllText(path).Replace(oldText, newText)) 

:

+0

에 소스 코드는 [여기]를보세요 [1]이 을 할 수있는 좋은 해결책이있다 [1] : http://stackoverflow.com/questions/15572061/scan-text-file-for-line-containing-a-given-string-and-replace-the-line-with-anot –

+1

당신은 즐겁고 진정한 대답을 쓸 수 있겠습니까? 그러나 이것은 대답으로 쓰여졌습니다. 그래서 나는 그것이 rigth ans라고 말할 수 있습니다. wer ... –

답변

1

가장 쉬운은 너무 큰를 아니라면 전체 파일을 다시 작성하는 것입니다. Btw, 당신의 정의에 의한 단어는 무엇입니까? 여기에 한 가지 방법입니다 :

Dim newWords = From word In File.ReadAllText(path).Split() 
       Select If(word = oldWord, newWord, word) 
File.WriteAllText(path, String.Join(" ", newWords)) 
+0

좋아, 나중에 VB.NET을 다시 설치해보십시오. 왜 내가 바보인지 물어 보지 마세요. ^^ –

+0

흠 그냥 VB에서 사용하고 VB 2010을 사용하고 있는데, 처음 입력 한 것은 작동하지 않습니다. 또한 다음과 같은 스크립트가 있음을 의미합니다. { "id": "1.7.2", "time": "2014-04-02T12 : 00 : 00 + 02 : 00", "releaseTime": "2013 -10-25T15 : 00 : 00 + 02 : 00 ", "유형 ":"출시 ", 그 중 일부입니다. 처음에는 1.7.2를 교체해야합니다. –

+0

@FrostyTosty : 저는 또한 VS 2010을 사용하고 있습니다. 두 번째 방법으로 Imports System.Linq을 추가해야 할 수도 있습니다. 귀하의 데이터에 따르면 : 내 접근 방식이 '1.7.2'의 모든 항목을 대체 할 것이므로 질문에 언급 했어야합니다. 대신 실제 csv-parser를 사용하여'ID'와'Time'과 같은 의미있는 속성을 가진 클래스를 초기화 할 수 있습니다. –

0

는 당신이 필요로 아래 ... stackoverflow

Dim myStreamReaderL1 As System.IO.StreamReader 
     Dim myStream As System.IO.StreamWriter 

     Dim myStr As String 
     myStreamReaderL1 = System.IO.File.OpenText("C:\File.txt") 
     myStr = myStreamReaderL1.ReadToEnd() 
     myStreamReaderL1.Close() 


     myStr = myStr.Replace("OldString", "New String") 
     'Save myStr 
     myStream = System.IO.File.CreateText("C:\FileOut.txt") 
     myStream.WriteLine(myStr) 
     myStream.Close() 
관련 문제