Làm thế nào bạn sẽ viết một thực hiện funcitonal cho split(positions:List[Int], str:String):List[String]
, mà là tương tự như splitAt
nhưng chia tách một chuỗi cho trước thành một danh sách của dây bằng một danh sách cho các vị trí ?Làm thế nào để tách một chuỗi cung cấp một danh sách các vị trí trong Scala
Ví dụ
split(List(1, 2), "abc")
lợi nhuậnList("a", "b", "c")
split(List(1), "abc")
lợi nhuậnList("a", "bc")
split(List(), "abc")
lợi nhuậnList("abc")
Tôi muốn sử dụng một giải pháp dựa trên 'chuỗi con 'thay vì' splitAt'. Trước đây sẽ sử dụng lại 'String' ban đầu trong bộ nhớ, trong khi thứ hai sẽ sao chép các chuỗi thành các chuỗi mới. Các giải pháp được cung cấp có thể được điều chỉnh để sử dụng 'chuỗi con'. –