如果我有一个包含以下元素的列表
list[0] = "blach blah blah"
list[1] = "SELECT something"
list[2] = "some more text"
list[3] = "some more text"
Run Code Online (Sandbox Code Playgroud)
如何找到字符串以SELECT开头的位置的索引.
我可以 list.indexOf("SELECT something");
但这是一个动态列表.SELECT something
永远都不会SELECT something
.它可能是SELECT somethingelse
或任何东西,但第一个字永远是SELECT
.
有没有办法将正则表达式应用于indexOf搜索?
Dón*_*nal 20
def list = ["blach blah blah", "SELECT something", "some more text", "some more text"]
def index = list.findIndexOf { it ==~ /SELECT \w+/ }
Run Code Online (Sandbox Code Playgroud)
这将返回与正则表达式匹配的第一个项的索引/SELECT \w+/
.如果要获取所有匹配项的索引,请将第二行替换为
def index = list.findIndexValues { it ==~ /SELECT \w+/ }
Run Code Online (Sandbox Code Playgroud)
你可以在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"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22746 次 |
最近记录: |