2010-01-16 4 views
1

비문 파일 (구조화 된 텍스트 파일)에서 headstone 데이터를 추출해야합니다. 이 파일에서 나는 사망 한 사람의 이름, 생년월일 (또는 나이) 및 개인적 메시지를 추출하기로되어 있습니다. 응용 프로그램은 원본 텍스트 파일을 분석 한 다음 정보를 추출하여 표 형식으로 표시 할 수 있어야합니다. 제인 오스틴 /의 사랑 메모리에서/우리는 가/당신을 그리워합니다 40 세에서 13.02.07에 사망/JOHN SMITH//의 메모리를 사랑에서문자열 조작

:

원시 텍스트 파일

은 다음과 같습니다/누가 10.035에 사망/ 에 태어났다 19.12.80/당신이 천국에 잘 지내기를 바랍니다.

기본적으로 /은 구분 기호이며 사망 한 사람의 이름은 항상 대문자입니다. String.Split() 및 부분 문자열 메서드를 사용하려고했지만 그것을 나를 위해 작동하도록 가져올 수 없습니다; 구분 문자 (Environment.Newline)가없는 원시 데이터 만 가져올 수 있지만 특정 정보를 추출하는 방법을 모르겠습니다.

+1

당신이 우리를 지금까지 시도한 codez 보여줄 수있는 트릭을 할 것이라고 생각이나 했 겠어요? 우리는 교정이 필요한 곳을 지적 할 수 있습니다. –

+1

다른 기록은 어떻게 구분됩니까? 나는 포스트를 고치려고했지만, 나는이 시점에서 명확하지 않았다. –

+1

실제로 파일 내의 새로운 행에 각각 새로운 레코드가 있습니까? –

답변

2

당신은 뭔가를해야합니다 :

  • , 각 라인에 대한 데이터 파일 (System.IO)
  • 을 열고 할 (팁 : 당신이 라인으로 라인을 읽을 수있는 스트림 선택)
    • "/"로 나누기 string[]
    • C#의 배열은 0에서 시작합니다. 그래서 [1] 그 이름이됩니다 갈라,
    • 스토어에 너무 ans와 그 관리 콜렉션 (아마도 제네릭을 사용하는?)
  • 표시 정보가 표보기
0

나는 이런 식으로 뭔가가

private static void GetHeadStoneData() 
{ 
    using(StreamReader read = new StreamReader("YourFile.txt")) 
    { 
     const char Delimter = '/'; 
     string data; 
     while((data = read.ReadLine()) != null) 
     { 
      string[] headStoneInformation = data.Split(Delimter); 
      //Do your stuff here, e.g. Console.WriteLine("{0}", headStoneInformation[0]); 
     } 
    } 
} 
+0

@ 마이클, 그게 숙제 야. –