swift4 - 如何在一个名字中获得所有中间名
问题描述
说,我有以下全名:
1)惠特尼·拉贾坎亚·西里瓦纳·乔文迪
2) 谢丽尔·汤普森·温斯顿
如何从上述各自的全名中检索中间名?
示例:
name (1) 中有 2 个中间名,name(2) 中有 1 个中间名
我使用了这个代码,但它没有得到中间名。
var components = fullName.components(separatedBy: " ")
if(components.count > 0)
{
let firstName = components.removeFirst()
}
问题:
1)如何获得一个名字中的所有中间名?有些名称有 1 个或多个(如上所示)。
谢谢
解决方案
如果您将“中间名”定义为名称中除第一个和最后一个单词之外的所有内容,那么您可以用空格dropFirst
和分割字符串dropLast
,然后加入结果。
var components = fullName.components(separatedBy: " ")
if (components.count <= 2) {
// no middle name
} else {
let middleName = components.dropFirst().dropLast().joined(separator: " ")
}
您还可以使用PersonNameComponentsFormatter
名称是否来自不同的语言环境,并且您需要不同的方式来处理它们。
推荐阅读
- angular - 在没有 npm install 命令的情况下安装 Angular
- c++ - 如何使用 Visual Studio 2017 编译 CEF 库?
- c# - 不同的视图取决于模型属性
- android - 如何解决缺少 R 类的问题?
- sql-server - sql server 配置管理器和服务中缺少 sql 服务
- buffer - Verilog VGA 缓冲区未按预期工作
- javascript - 匹配中的多个条件使用 $or 或 $and
- python - 如何在python中控制c++类对象?
- python - Python中的二分搜索找不到答案?为什么会导致负余额?
- java - Java将二维数组行排序为升序,列排序为降序