저는 Stanford NLP를 사용하여 텍스트를 문장으로 분할하지만 축소를 무시합니다.
그래서 이것은 내가 가진 결과 문장의 예입니다.
List(I, 'd, like, to, fix, this, sentence, because, it, 's, broken)
내 목표는 결과가 다음과 같이 보이도록 축약 된 단어를 연결하는 것입니다.
List(I'd, like, to, fix, this, sentence, because, it's, broken)
스칼라에서 이것을 수행하는 우아한 방법이 있습니까? 기본적으로 다음 항목과 요소를 확인하고 조건이 충족되면 연결하고 내 예제에 따라 결과 목록을 반환하는 목록을 반복하는 표현식을 찾고 있습니다.
scala> val l = List("I", "'d", "like", "to fix", "this", "sentence", "because", "it", "'s", "broken")
l: List[String] = List(I, 'd, like, to fix, this, sentence, because, it, 's, broken)
scala> l.reduceRight({(s1,s2) => if (s2.startsWith("'")) s1+s2 else s1+" "+s2})
.split(" ").toList
res2: List[String] = List(I'd, like, to, fix, this, sentence, because, it's, broken)
목록이 비어 있으면 예외가 발생합니다 (의 사용으로 인해 reduceRight
). 사용 foldRight
하거나 reduceRightOption
이것이 발생할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다