关键技术:
实现字符串替换的一般思路是在字符串中查找指定字符的位置,然后将原有字符删除,再添加新字符。
但CString类提供了Replace方法,该方法可以很容易地将字符串中的子字符串替换为另一个子字符串。
Replace方法能够对CString对象中的任意子字符串进行替换,语法如下:
int Replace(LPCTSTR lpszOld, LPCTSTR lpszNew);
参数说明:
(1)lpszOld:替换前的子字符串
(2)lpszNew: 替换后的子字符串
返回值:替换的个数。
设计过程:
1)使用VC6.0创建基于对话框的应用程序。
2)向对话框添加ID属性为IDC_TEXT、IDC_CHAR、IDC_NEW的编辑框,以及三个静态文本框,一个按钮;
3)OnSet方法是“替换”按钮的单击事件的实现,完成字符串的替换,代码如下:
void CStringReplaceDlg::OnSet()
{
// TODO: Add your control notification handler code here
CString strtxt,strchar,strnew;
GetDlgItem(IDC_TEXT)->GetWindowText(strtxt);
GetDlgItem(IDC_CHAR)->GetWindowText(strchar);
GetDlgItem(IDC_NEW)->GetWindowText(strnew);
//int pos=strtxt.Find(strchar);
strtxt.Replace(strchar,strnew);
GetDlgItem(IDC_TEXT)->SetWindowText(strtxt);
}
效果如下:
图(1)替换前“机器学习”
图(2)替换后“人学习”