在swift ios中找到符号@或数字后拆分字符串

在swift ios中找到符号@或数字后拆分字符串,swift,string,split,Swift,String,Split,我想在swift中的符号@或数字之前获取值。我的电子邮件是john@gmail.com。我只想要约翰。另一个例子是peter34@gmail.com。我只想得到彼得。试试这个 let EMAIL= "peter34@gmail.com" let EMAILARR= EMAIL.characters.split{$0 == "@"}.map(String.init) EMAILARR[0] // to get peter34 EMAILARR[1] // to get gmail.com 使用

我想在swift中的符号@或数字之前获取值。我的电子邮件是
john@gmail.com
。我只想要约翰。另一个例子是
peter34@gmail.com
。我只想得到彼得。

试试这个

let EMAIL= "peter34@gmail.com"
let EMAILARR= EMAIL.characters.split{$0 == "@"}.map(String.init)

EMAILARR[0] // to get peter34
EMAILARR[1] // to get gmail.com
使用
组件(分隔符:)
向其传递由
@
和数字组成的
字符集
,然后使用
first
获取符号的第一部分:

let emails = ["john@gmail.com", "peter34@gmail.com"]

for email in emails {
    if let name = email.components(separatedBy: CharacterSet(charactersIn: ("@0123456789"))).first {
        print(name)
    }
}
输出:

john
peter