我希望获得Qstring
的第一句话。
例如String1 = "Read from file1"
。我想提取string2 = "Read"
。
我想基于空格提取子字符串。
如果我在string1
中遇到第一个空格,我需要string1
到string2
的那一部分。
答案 0 :(得分:6)
以这种方式使用QString
的拆分功能:
QString firstWord = string1.split(" ").at(0);
如果字符串中没有空格,则返回整个字符串。
答案 1 :(得分:3)
如果您想使用所有部分,请使用QString::split
;如果您只想抓住第一个字,请使用QString::section
。
例如,最基本的语法是:
QString str = "Do re mi";
QString firstWord = str.section(" ", 0, 0);
// firstWord = "Do"
如果您需要处理各种奇怪的空白,可以使用the regex version函数:
QString str = "\tDo re\nmi"; // tabs and newlines and spaces, oh my!
QString firstWord = str.section(QRegExp("\\s+"), 0, 0,
QString::SectionSkipEmpty);
// firstWord = "Do"
答案 2 :(得分:1)
我愿意:
QString s("Read from file1");
QString subStr = s.section(" ", 0, 0, QString::SectionSkipEmpty);
这也适用于此类字符串:
“从file1读取”