2010-05-13 6 views
1

에 관한 질문을 교체하고 난의 모든 인스턴스를 변경할 수 있도록하려면 :찾아 내가 텍스트 파일을 RegEx.Replace


N1T1M6

T1M6로를 T는로드 된 텍스트 파일에 따라 항상 다른 값이됩니다. 예 그래서 때로는

T2M6
을 할 수 있고 그
N2T2M6로 전환 될 필요가있다.

N (값)은 T (값)와 일치해야합니다. M6은 항상 M6입니다.


또 다른 예 :

T9M6 번역 할 N9T9M6 여기



에 텍스트 파일의 로딩 할 내 코드입니다 :

StreamReader reader = new StreamReader(fDialog.FileName.ToString()); 
string content = reader.ReadToEnd(); 
reader.Close(); 



여기에 나와있는 RegEx.Replace 문이 있습니다. 그것이 맞는지 확실하지 않습니다.

content = Regex.Replace(content, @"(T([-\d.]))M6", "N1$1M6"); 



N1T5M6T5M6 검색하고 으로 돌려에서 작동하는 것 같다

.

그러나 N (값)을 T 값으로 변환하는 방법을 잘 모르겠습니다. 예 : N5T5M6.

이 문제를 해결하기 위해 내 코드를 수정하는 방법을 보여줄 수 있습니까?

감사합니다. 이처럼

+0

[-\d.]를 교체해야합니다 ??? 병리학 보고서에서 'N'에 대한 데이터가 없다면 T에 기초한 N의 값을 합성 할 때 어떤 이점이 있습니까? 앞으로 레코드에는 N이 포함되지만 최신 레코드는 포함되지 않습니다. 이런 식으로 계산 된 N의 값과 측정 된 N의 값을 어떻게 구별 할 것입니까? 이 각각을 자체 열에 표시하고 기록되지 않은 값에 대해서는 '-'를 출력하는 것이 더 좋을 수 있습니다. "계산 된 N"값으로 다시 출력해야하는 경우 그렇게 할 수 있습니다. –

답변

3

: 또한

string content = File.ReadAllText(fDialog.FileName.ToString()); 
content = Regex.Replace(content, @"T([-\d.])M6", "N$1T$1M6"); 

, 당신은 아마 정말 \d 또는 -?\d\.?

+0

[- \ d.]가하지 않는 것은 무엇입니까? 변화와 함께, 그것은 다음과 같이 보일 것이다 : @ "T (\ d) M6", "N $ 1T $ 1M6"); ? – fraXis

+0

'\ d'는 숫자 만 찾습니다. 네가 뭘하려고하는지 전혀 모르겠다. 예, 그렇습니다. – SLaks

관련 문제