Ios 从字符串swift 3获取特定范围的字符

Ios 从字符串swift 3获取特定范围的字符,ios,swift,swift3,Ios,Swift,Swift3,我希望从字符串中获取特定字符,例如 var str = "hey steve @steve123, you would love this!" // Without doing this var theCharactersIWantFromTheString = "@steve123" 如何从str中检索@steve123?您可以使用正则表达式\\B\\@\\w+ 您可以使用正则表达式\\B\\@\\w+ 你最好澄清你的要求。这个范围总是以@开头?或者某些字符可以继续@?那么字母1+或0+?

我希望从字符串中获取特定字符,例如

var str = "hey steve @steve123, you would love this!"

// Without doing this
var theCharactersIWantFromTheString = "@steve123"

如何从str中检索@steve123?您可以使用正则表达式\\B\\@\\w+


您可以使用正则表达式\\B\\@\\w+


你最好澄清你的要求。这个范围总是以@开头?或者某些字符可以继续@?那么字母1+或0+?然后是数字?或者字母和数字可以以任意顺序出现?或者一些有限的符号可以混合使用?我只需要@符号和字母字符。您通常不包括字母字符中的数字。但你的例子有数字123。请澄清。你最好澄清你的要求。这个范围总是以@开头?或者某些字符可以继续@?那么字母1+或0+?然后是数字?或者字母和数字可以以任意顺序出现?或者一些有限的符号可以混合使用?我只需要@符号和字母字符。您通常不包括字母字符中的数字。但你的例子有数字123。请澄清。
let pattern = "\\B\\@\\w+"
let sentence = "hey steve @steve123, you would love this!"

if let range = sentence.range(of: pattern, options: .regularExpression) {
    print(sentence.substring(with: range))  // "@steve123\n"
}