我有一个 CString st= $/Abc/cda/($/dba/abc)/
。我只想用 c:\
替换第一次出现的 $
。
我尝试替换为
st.Replace("$","c:\");
但它取代了所有出现的$
。
你能给我建议任何只替换第一次出现的字符的逻辑吗。
最佳答案
由于您要用三个字符替换单个字符,因此可以使用 CString::Find()
,然后使用 CString::Delete()
和 CString::Insert()
,比如
int nInx = st.Find('$');
if (nInx >= 0)
{ st.Delete(nInx, 1);
st.Insert(nInx, _T("C:\\");
}
关于c++ - 如何只替换 CString 中第一次出现的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17184510/