2013-12-13 2 views
1

와 나는 현재 큰 텍스트 파일을하고 난 아무것도 내부 사이에 알 수없는 텍스트 대체하기 위해 노력하고 있습니다 "#과"를. 나는 다음을 사용하려고 시도했다."사이에 알 수없는 텍스트를 교체"#

string text = File.ReadAllText(@"c:\Users\Zero\Documents\test.txt"); 
    string replacement = "#"; 


     int start = text.IndexOf('"') + 1; 
     text = text.Replace(text.Substring(start, text.LastIndexOf('"') - start), replacement); 


    File.WriteAllText(@"c:\Users\Zero\Documents\test.txt", text); 

현재 파일의 모든 텍스트가 한 줄로 바뀌었다. 즉, 그것은 돌고 :

안녕하세요 어떻게 당신이 테스트 "123"테스트

"테스트" "테스트"

을로는

"테스트"

"#"

는 나는이

안녕을 할 필요가 어떻게 당신이 테스트 "#"시험이

"#"

"#", "#"

답변

10

이 같은 regular expression은 편리 할 것입니다 :

"[^"]*" 

예 :

text = Regex.Replace(text, "\"[^\"]*\"", "\"#\""); 
+3

가장 간단한 솔루션 .. 기간! –

+0

@CandyCane 아, 네, 그걸 놓쳤습니다. 내 업데이트 답변을 참조하십시오. –

+0

와우, 너 멋지다. 도와 주셔서 감사합니다. 나는 물건을 만들려고 노력하면서 루프가있는 동그라미에서 뛰어 다니고 있었고 당신은 매우 쉽게 만들었습니다. – CandyCane

관련 문제