항상 패턴이 'artist', 'song', plays
인 경우 작동하는 데 걸리는 소리는 (')(artist)(',)(song)(',)(plays)
입니다. 그래서 정규식이 입력 주어진
scala> val extractionPattern = """(')(.*)(',\s+')(.*)(',\s+)(\d+)""".r
extractionPattern: scala.util.matching.Regex = (')(.*)(',\s+')(.*)(',\s+)(\d+)
과 같을 것이다, 그것은 당신에게 당신은 단지 2, 4, 6 일에 관심 6 경기를 줄 것이다.
scala> extractionPattern.findAllIn("""'WATTS 103RD STREET RHYTHM BAND', 'DO YOUR THING', 100""")
.matchData.map(_.subgroups).toList
res70: List[List[String]] = List(List(', WATTS 103RD STREET RHYTHM BAND, ', ', DO YOUR THING, "', ", 100))
그래서 당신이 걱정하는 사람을 처리
scala> extractionPattern.findAllIn("""'WATTS 103RD STREET RHYTHM BAND', 'DO YOUR THING', 100""")
.matchData.map(_.subgroups)
.flatMap(matches => Seq(matches(1), matches(3), matches(5))).toList
res71: List[String] = List(WATTS 103RD STREET RHYTHM BAND, DO YOUR THING, 100)
뿐만 아니라 온라인 정규식 작업을 참조하십시오 - 당신은 CSV는 파일을 처리하는 것처럼 https://regex101.com/r/vcBJcI/1/
입력을 튜플로 구문 분석하는 방법을 보여줄 수 있습니다. 그러나 입력 및 출력 형식의 차이점은 무엇입니까? 내가 지금 볼 수있는 것에서는 차이점이 없다. 특히 귀하의 특정 입력에 대한 : "와트 103RD 거리 리듬 밴드 ','너, 그거 ', 0": 출력 파일에 무엇을 쓸 것으로 예상합니까? – igorpcholkin