gpt4 book ai didi

qtextedit selectedtext() 返回控制字符

转载 作者:行者123 更新时间:2023-12-03 02:44:05 26 4
gpt4 key购买 nike

我有一个仅从 qtextedit 返回选定文本的函数。我需要获取纯文本,但此函数返回带有一些控制字符的文本。

例如:函数textEdit->textCursor().selectedText()返回:

"select?  timestamp,?  strftime('%d.%m.%Y', Datetime(timestamp, 'unixepoch', 'localtime')) as date,?  strftime('%H:%M:%S', Datetime(timestamp, 'unixepoch', 'localtime')) as time,?  author,?  from_dispname,?  dialog_partner,?  body_xml?from?  Messages?where?  timestamp >= 1501504199?  -- timestamp >= 1502345001?order by?  timestamp asc"

函数textEdit->toPlainText()返回:

"select\n  timestamp,\n  strftime('%d.%m.%Y', Datetime(timestamp, 'unixepoch', 'localtime')) as date,\n  strftime('%H:%M:%S', Datetime(timestamp, 'unixepoch', 'localtime')) as time,\n  author,\n  from_dispname,\n  dialog_partner,\n  body_xml\nfrom\n  Messages\nwhere\n  timestamp >= 1501504199\n  -- timestamp >= 1502345001\norder by\n  timestamp asc"

在第一个示例中,?(问号)没有输入,我无法替换它们。

我做错了什么?

最佳答案

将评论总结为答案:

作为 QTextCursor::selectedText 的文档状态:

Note: If the selection obtained from an editor spans a line break, the text will contain a Unicode U+2029 paragraph separator character instead of a newline \n character. Use QString::replace() to replace these characters with newlines.

在调试输出中显示时,它显示为 ?。可以按照文档中的说明使用QString::replace,或者使用 QTextCursor::selection相反(通过使用 selection().toPlainText() 从选择中获取文本)

关于qtextedit selectedtext() 返回控制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46559753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com