替换wxString中的空格,c ++

时间:2016-10-15 22:43:28

标签: c++ removing-whitespace wxstring

我想将包含wxString中任意数量空格的每个子字符串替换为单个字符或字符串 - 例如“。*”(在c ++中)。

或者,也许有一种简单的方法可以将每个子字符串转换为单个空格。然后,我可以在第二步中使用wxString :: Replace方法将单个空格更改为其他内容: wxStringInstance.Replace(wxT(“”),wxT(“。*”));

所以,例如,如果我的wxString包含“Winter \ s \ s \ s \ s \ s即将来临”,我想将其更改为 “Winter。* is。* come”,而不是“Winter。*。*。*。*。* is。*。*。* come”。有人可以帮我吗?...我真的很感激,谢谢你:)

1 个答案:

答案 0 :(得分:0)

要解决这个问题,建立一个小状态机,有两个状态,"在空白"或"在文字"。然后传递输入(您可能希望以任一状态启动,具体取决于您处理前导空格的方式)。当您从"转换到文本"在"在空白"上,当你在" on text"时,你会发出一个空格。当您从"在空白区域转换时发出文本"在"在空白"你什么都不发光。