"${문자열}" 패턴을 찾아 "우하하하"로 변환 합니다.
wxString mappedMultiLang(const wxString& s) {
if (s.empty()) return _("");
wxString mapped_str;
wxRegEx regex("\\$\\{[^\\}]*\\}", wxRE_ADVANCED + wxRE_ICASE);
if (!regex.IsValid()) return _("");
wxString str = s;
while (regex.Matches(str)) {
size_t start, length;
if (regex.GetMatch(&start, &length, 0)) {
// get id. exclude ${}
wxString id = regex.GetMatch(str, 0);
id = id.SubString(2, id.size()-2); // ${} 제거
// previous string
wxString pre_str = str.SubString(0, start-1); // ${ 이전 문자열
// message mapping
id = "우하하하";
mapped_str += pre_str + id;
}
str.Remove(0, start + length);
}
return mapped_str += str;
}
사용
// regex
wxString a1 = mappedMultiLang(" ${HI} a ${BMADM} b${} c");
wxString a2 = mappedMultiLang("");
wxString a3 = mappedMultiLang("${}");
wxString a4 = mappedMultiLang("${?}");
wxString a5 = mappedMultiLang("adfadsf adfa ds ");
'C++' 카테고리의 다른 글
taskbar gage (windows7 이상) (0) | 2012.07.24 |
---|---|
wxZip 사용 (0) | 2012.07.24 |
wxRichTextCtrl 사용방법 (0) | 2012.07.14 |
wxColour #FF000000 - 알파 인식여부 확인 (0) | 2012.07.11 |
std::regex (0) | 2012.07.05 |
atlconv.h code page 관련 (0) | 2012.07.04 |
shorcut 바로가기 아이콘 만들기 (0) | 2012.06.30 |
c++ cookie 읽기 (0) | 2012.06.26 |