2017-12-20 16 views
0

私は文字「e」のn番目のオカレンスのインデックスを探しています。私はScalaのn番目のパターンマッチのインデックス

ignore+1 

が希望するグループである。このような何か...

def findE(line: String, ignore: Int) : Int = { 
    val pattern = "e".r 
    val index = line.indexOf(pattern(ignore+1)) 
    index 
} 

を推測しますが、構文が有効ではありません。誰かがこれについてどうやって行くのか分かっていたのだろうか?

答えて

3

私があなたの場合は、標準のコンビネータを使用します。

> "abcdeabcdeabcde".zipWithIndex.collect { 
    case ('e', index) => index 
    } 
res1: collection.immutable.IndexedSeq[Int] = Vector(4, 9, 14) 

インデックス5に存在するものがあればそれを取ってください。それがあなたの答えです。

+0

ありがとうございます!それが働いた –

関連する問題