老師要求做一個winform程序,根據病理資料自動提取病名,並轉換成相應的ICD國際編碼。
這個作業的難點在正則表達式,但是使用非正則表達式也可以實現,前提是病名之後沒有任何的字符:
代碼如下:(使用C#自帶的字符串處理函數a.Substring(start_position);)
string a = richTextBox1.Text;
int start_position = a.IndexOf(“:”)+1 ;
string b = a.Substring(start_position);
textBox2.Text = b;//獲取診斷病名結束
使用正則表達式,
string str_start = @”診斷:(?<info>\w[^。|,^.|^,]+)”;//可剔除後邊的中英文逗號,句號等
Regex MyRegex = new Regex(str_start, RegexOptions.Multiline);
string a = richTextBox1.Text;
Match MyMatch = MyRegex.Match(a);
textBox2.Text = MyMatch.Groups[“info”].Value.ToString();