我想得到 a 的第一个单词Qstring
。
例如String1 = "Read from file1"
. 我想提取string2 = "Read"
. 我想根据空格提取子字符串。
如果我在我的 中遇到第一个空格,我需要tostring1
的那一部分。string1
string2
QString
以这种方式使用 split 函数:
QString firstWord = string1.split(" ").at(0);
如果字符串中没有空格,则返回整个字符串。
QString::split
如果您想使用所有部分,或者只想QString::section
抓住第一个单词,请使用。
例如,最基本的语法是:
QString str = "Do re mi";
QString firstWord = str.section(" ", 0, 0);
// firstWord = "Do"
如果您需要处理各种奇怪的空格,可以使用函数的正则表达式版本:
QString str = "\tDo re\nmi"; // tabs and newlines and spaces, oh my!
QString firstWord = str.section(QRegExp("\\s+"), 0, 0,
QString::SectionSkipEmpty);
// firstWord = "Do"
我会做:
QString s("Read from file1");
QString subStr = s.section(" ", 0, 0, QString::SectionSkipEmpty);
在这种字符串的情况下,这也将正常工作:
“从文件 1 中读取”