我提取了以下句子:
非常重要的一点。它应该在我们的下一次会议上讨论。
来自以下一行:
ID:1 x:1202 y:2453 w:242 h:459 wn:13 ln:12 c:非常重要。它应该在我们的下一次会议上讨论。
使用此QRegularExpression:
regularExpression.setPattern("(?<=\\s)c:\\s?(.*)$");
然而,输出是:
非常重要的一点。它应该在我们的下一次会议上讨论。\ r
\ r \ n的存在是很正常的,因为我使用的行是用文本文件(Windows 8.1操作系统)编写的。
你知道如何在结果输出中没有“\ r”的情况下提取句子吗?我真的不知道。
非常感谢你的帮助
答案 0 :(得分:2)
您可以使用 negated character class [^\r\n]
来实现这一目标:
regularExpression.setPattern("(?<=\\s)c:\\s?([^\r\n]*)");
^^^^^^^^
[^\r\n]*
子模式匹配除\r
和\n
以外的零个或多个字符。