-
한글 일치율 비교#1. 전국 읍면동 데이터 Map에 담기c# Winform 개발/글자비교 2021. 6. 22. 16:11
읍면동 데이터를 구글검색으로 받습니다.
보통 이런식으로 데이터가 있기 때문에
구분자로 파싱해서 map 또는 dictionary에 담습니다.
하고자 하는건 입력한 텍스트가
시군구 읍면동의 이름과 몇퍼센트 일치하는지 체크하는 로직입니다.
테스트용이라 UI는 이렇게 구성했음.
StreamReader 읽을때 Encoding.Default 사용해줘야 한글이 깨지지 않습니다~
Dictionary<string, string> items = new Dictionary<string, string>(); private void button1_Click(object sender, EventArgs e) { int fileCounter = 0; int counter = 0; string line; System.IO.StreamReader file = new System.IO.StreamReader(Application.StartupPath + "\\111.txt", Encoding.Default); System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); while ((line = file.ReadLine()) != null) { string[] split = line.Split('|'); if(split[8].Length > 0) { string info = divideString(split[4] + split[6] + split[8]); if (info.Length > 0) { if (!items.ContainsKey(info)) { items.Add(info, split[4] + split[6] + split[8] + "|" + info.Length.ToString()); counter++; } } } fileCounter++; } sw.Stop(); button2.Enabled = true; MessageBox.Show("라인개수 : " + fileCounter.ToString() + Environment.NewLine + "메모리올린개수 : " + counter.ToString() + Environment.NewLine + "걸린시간 : " + sw.ElapsedMilliseconds.ToString() + " m/s"); }
36만줄 읽어서 5천가까이 dictionary에 담았습니다.
300x250'c# Winform 개발 > 글자비교' 카테고리의 다른 글
한글 일치율 비교#5. HammingDistance, JaroWinklerDistance 알고리즘 추가 (0) 2021.06.23 한글 일치율 비교#4. 텍스트 비교 및 일치율 추출 (0) 2021.06.22 한글 일치율 비교#3. LevenshteinDistance (0) 2021.06.22 한글 일치율 비교#2. 한글분리 (초성,중성,종성) (0) 2021.06.22