Alex Rivera | Logout

groovy list indexOf

Asked 2009-10-08T21:53:00.960
9

If I have a list with following elements

list[0] = "blach blah blah"
list[1] = "SELECT something"
list[2] = "some more text"
list[3] = "some more text"

How can I find the index of where the string starts with SELECT.

I can do list.indexOf("SELECT something");

But this is a dynamic list. SELECT something wont always be SELECT something. it could be SELECT somethingelse or anything but first word will always be SELECT.

Is there a way to apply regex to the indexOf search?

Edit
Report

1 Answer

6

You can use a regex in find:

def list = ["blach blah blah", "SELECT something", "some more text", "some more text"]

def item = list.find { it ==~ /SELECT \w+/ }

assert item == "SELECT something"

list[1] = "SELECT somethingelse"

item = list.find { it ==~ /SELECT \w+/ }

assert item == "SELECT somethingelse"
answered 2009-10-09T00:16:27.943

Your Answer