返回字符串中第一个和最后一个字符的范围

chi*_*uda 3 string ios swift

我有一个字符串:"Hey @username that's funny".对于给定的字符串,如何搜索字符串以返回包含第一个字符@和最后一个字符的所有字符串范围 to get the username

我想我可以得到@和每个索引的所有索引,得到substringToIndex下一个空格字符,但想知道是否有更简单的方法.

Vla*_*mir 5

如果您的用户名只能包含字母和数字,则可以使用正则表达式:

let s = "Hey @username123 that's funny"

if let r = s.rangeOfString("@\\w+", options: NSStringCompareOptions.RegularExpressionSearch) {
  let name = s.substringWithRange(r) // @username123"
}
Run Code Online (Sandbox Code Playgroud)