【发布时间】:2015-10-04 08:58:10
【问题描述】:
在我的 Qt 项目中,我有特定的字符串 ""dsfsd we rrh erh er""。我想像这样删除所有子字符串:

并保留其他字符串。
QString messageText = m_messageEdit->toPlainText();
有什么建议吗?
【问题讨论】:
-
您在该代码中存在内存泄漏:您分配内存并将指向内存的指针分配给
msg_char but directly overwrite that pointer with a pointer tomessageText.data()`,这使您丢失了指向您分配的内存的原始指针。 -
至于错误,如果您仔细阅读它们,它们是非常清楚的。首先,
QChar不是您系统上的char。 -
请写出您想从字符串中删除的确切内容(注意在编辑模式下这些字符是不可见的,并且它们看起来不正确)?如果您只想删除某些内容,为什么要转换为 utf8?对
QTextEdit进行操作的最佳方式是QTextDocument和QTextCursor!到QString和 utf8 的转换链非常昂贵。 -
我几乎无法解析这个问题。所有这些 Unicode 废话是怎么回事?你不能把问题简单化吗?