我想獲得Qstring
的第一個字。如何從Qstring中獲取第一個字
例如String1 = "Read from file1"
。我想提取string2 = "Read"
。 我想提取基於空白的子字符串。
如果我遇到我string1
第一空白,我需要的string1
到string2
部分。
我想獲得Qstring
的第一個字。如何從Qstring中獲取第一個字
例如String1 = "Read from file1"
。我想提取string2 = "Read"
。 我想提取基於空白的子字符串。
如果我遇到我string1
第一空白,我需要的string1
到string2
部分。
使用這樣的QString
分割功能:
QString firstWord = string1.split(" ").at(0);
如果在字符串中沒有空白,整個字符串將被退回。
在調用(0) –
之前,最好檢查它是否爲空。在文檔中說如果沒有發生,split()將返回一個包含字符串本身的單元素列表。所以它總是會返回至少一個元素列表。 –
事實上,它甚至會在分割空字符串時做到這一點。 –
我會做:
QString s("Read from file1");
QString subStr = s.section(" ", 0, 0, QString::SectionSkipEmpty);
這將在這樣的字符串的情況下正常工作了:
「從文件1讀取」
使用QString::split
如果你想使用所有的部分,或QString::section
,如果你只是想抓住第一個字。
例如,最基本的語法是:
QString str = "Do re mi";
QString firstWord = str.section(" ", 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"
你應該提供一些代碼,你如何解決你的問題。 –