> 3/28/12, Andrej Mitrovic <andrej.mitrov...@gmail.com> wrote: > I'd like to get a list of indexes into an array that matches a character. > E.g.: > > "a foo a bar a".indexes("a") == [0, 6, 12]
Hah I even managed to screw up that "bar" has an 'a' there. Anywho this works just fine: size_t[] indexes(string input, dchar target) { size_t[] result; foreach (index, dchar ch; input) { if (ch == target) result ~= index; } return result; } The cool thing about the foreach loop is that 'index' will point to the exact code point of the target (it won't just be incremented by +1 on each loop).