从全名QString中获取名字和姓氏

Get first name and last name out of a full name QString

我有一个 QT 项目,我从用户输入中获取全名作为 QString 变量 fullName。我想通过从 fullName .

中提取名字(firstName)和姓氏(surname)来将它们存储在它们自己的 QString 变量中

用户输入最终也可能会添加他们的中间名,因此我需要为所有类型的示例工作,例如。用户输入:Barry Michael Doyle 必须给 firstName Barry 的值和 surnameDoyle.

的值

我不太擅长 QString 操作,因为我最近才开始使用 Qt 库。如果能得到所有帮助,我将不胜感激。

Qt 关于 QString 的文档非常详尽,并且有很多关于如何使用它的示例。你可以在这里找到它: http://doc.qt.io/qt-5/qstring.html

一般来说,解析可能有错误的输入字符串很困难("BarryDoyle" 的输入字符串的预期行为是什么?"Barrydoy le" 呢?)

对于使用 space 字符拆分字符串的简单情况,您可以查看 QString::split (http://doc.qt.io/qt-5/qstring.html#split)

QString str = "Barry Michael Boyle"
QStringList list_str = str.split(" ");
QString first = list_str.first();
QString last = list_str.back();