首页 > 解决方案 > 如何根据空/空行拆分字符串?

问题描述

我正在编写一个应该解析 .srt 字幕文件的 c++ 应用程序(Qt Widgets)。文件的每个部分都由一个空行分隔,如下所示:

1
00:00:08,000 --> 00:00:11,000
[Line]

2
00:00:56,034 --> 00:00:57,492
[Line]
[Another line]

3
00:01:13,676 --> 00:01:15,420
[Line]

基本上,我想将整个文件读入 a QString,然后用空行将其拆分为QString数组,每个项目都包含这样的部分之一:

2
00:00:56,034 --> 00:00:57,492
[Line]
[Another line]

但是,我无法弄清楚如何做到这一点。我尝试用\rand拆分字符串\n,但是将所有内容拆分为单独的行,而不是空行。

这是我从 .srt 文件中获取数据的例程:

我怎样才能做到这一点?

标签: c++qtqt5qstring

解决方案


新行通常表示为\n

要在有 2 个新行之间没有任何内容的情况下拆分字符串,可以使用\n\n分隔符。


推荐阅读