kotlin으로 특정 패턴에 대한 문자열을 검색하고 싶습니다.
정규식 클래스가 문자열 내 패턴의 위치 (문자열 내 인덱스)를 제공합니까?
MatchResult의 객체는이 범위의 속성을 :
일치가 캡처 된 원래 문자열의 인덱스 범위입니다.
또한 MatchGroup 에는 range
속성도 있습니다.
짧은 데모 전체 단어의 첫 경기의 범위를 보여주는 long
:
val strs = listOf("Long days become shorter","winter lasts longer")
val pattern = """(?i)\blong\b""".toRegex()
strs.forEach { str ->
val found = pattern.find(str)
if (found != null) {
val m = found?.value
val idx = found?.range
println("'$m' found at indexes $idx in '$str'")
}
}
// => 'Long' found at indexes 0..3 in 'long days become shorter'
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다