2017-08-11 1 views
1

迅速文字列から特定の範囲を、取得例えば、このような私は私の文字列から特定の文字を取得したいと思い3

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

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

どのように私はちょうどstrの

+0

あなたの要件を明確にしてください。常に範囲は '@'で始まっていますか?あるいは、いくつかの文字を '@'に進めることができますか?次に、文字(1+または0+?)が続いて数字が入ります。または文字と数字は任意の順序で表示できますか?あるいは、いくつかの限られたシンボルを混在させることができます – OOPer

+0

@symbolとalbetical文字のみが必要です – user8426652

+0

通常、_アルファベット文字に数字は含まれていません_。しかしあなたの例は数字123を持っています。どうか明らかにしてください。 – OOPer

答えて

7

からあなたを@にsteve123を取得します正規表現"\\B\\@\\w+"を使用できます。

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" 
} 
関連する問題