Ben*_*n H 2 regex sequence kotlin
如果我不在乎,我会在lineSequence上做一个“ first”,如果存在,请重新运行正则表达式。
val possibleMatch = input.lineSequence().first { myRegex.matches(it) }
Run Code Online (Sandbox Code Playgroud)
...但是我想成为科特林酷派,而不必重新运行正则表达式。我应该使用映射到MatchGroup并过滤出null吗?感觉比以前更冗长...
input.lineSequence()
.mapNotNull { myRegex.find(it) }
.map { it.groupValues[1] }
.first()
Run Code Online (Sandbox Code Playgroud)
您可以将其简化为single .mapNotNull { ... }:
input.lineSequence()
.mapNotNull { regex.find(it)?.groupValues?.get(1) }
.first()
Run Code Online (Sandbox Code Playgroud)
如果.find(it)返回null,则该值仍将从序列中删除,否则将在同一调用中进行处理。
| 归档时间: |
|
| 查看次数: |
1942 次 |
| 最近记录: |