2011-10-20 3 views
1

N00b 프로그래머가 여기에 있습니다 ...
if/else 문에서 문자열을 사용하려고 문자열에 저장하려고 시도 중입니다 ...

I ' .txt 파일을 메모리에 업로드하고 그 내부에있는 텍스트를 웹 페이지로 파싱합니다. 이 내용은 내가
if/else 문에 사용할 문자열에 "Viewer.Readline"을 저장하십시오.


.RES B7 = 121
.RES C12 = 554
.RES VMAX = 4.7μV


웹 페이지로 구문 분석하고 그 모습입니다

이 문제는 .txt 파일에 포함되어야하는 내용이 있지만이 내용을 구문 분석하지 않으려는 것입니다 (이 텍스트는 구문 분석을 원하지 않습니다. 어떤 별표가있는 단어 일뿐입니다.)

누군가는 문자열 (그것을 시도하고 나에게 원하는 결과을 포기하지 않을 것) 내가 만약/else 문에서 해당 문자열을 사용할 수 있도록

말을하면 설정으로 특정 코드를 넣어 나에게 제안
if (string startswith (".RES") 
{ 
//Code that parses 
} 
else 
{ 
//Code that tell viewer to skip over that line if it doesn't start with ".RES" 
}  

무엇을 제안 하시겠습니까? 포인터 좀 줘? 기억하세요, 나는이 게임을 배우기 때문에 쉽게 읽을 수있는 제안을 할 수 있습니다.

여기에 내가
C#을 페이지

을 사용하고 내 코드의
 protected void btnUpld_Click(object sender, EventArgs e) 
    { 
     Stream theStream = file1.PostedFile.InputStream; 

     using (StreamReader viewer = new StreamReader((Stream)file1.PostedFile.InputStream)) 
     { 

      while (viewer.Peek() > 0) //Reads all text lines from imported .txt file that is imported into memory 
      { 
       String[] parts = viewer.ReadLine().Split(new[] { '=' }); //splits text lines at "="... They suggested I put this into a string to use as in the if/else... Would that be a simple approach? 
       String variOutpt = parts.Length > 1 ? parts[0].Substring(".RES ".Length) : String.Empty; //Reads value after skipping over ".RES", before the "=" split 
       String valOutpt = parts.Length > 1 ? parts[1] : String.Empty; //Reads value after the "=" split 
       String otput = String.Format("{0}:<input type='text' value='{1}' /><br />", variOutpt, valOutpt); //Sets up format for variOutpt&valOutpt 
       rslt.InnerHtml += otput; //Prints it all into a div on my aspx page 
      } 
     } 
    } 


물건 String.StartsWith() 좋은 생각입니다 ... 내 aspx 페이지에

 <asp:FileUpload ID="file1" runat="server" /> 
     <asp:Button ID="btnUpld" runat="server" Text="Upload&Display" onclick="btnUpld_Click" /> 
     <div runat="server" id="rslt" /> 

답변

2

을 매달려 그것이 나머지 모든 유효 라인을 실제로 구별하는 경우.

더 강력하면서도 더 복잡한 방법은 Regex를 사용하는 것입니다.

while (viewer.Peek() > 0) 
{ 
    string line = viewer.ReadLine(); 
    if (! string startswith (".RES") 
     continue; 

    String[] parts = line .Split('='); // note simplification 
    .... 
+0

감사 남자 :

코드는 필요한 것으로 보인다. 내 질문에 완벽하게 답변했습니다 ... 때로는 가장 작은 답변이 가장 좋습니다. –

관련 문제