Соответствие строки с другой строкой и выходным массивом - PullRequest
0 голосов
/ 17 июня 2019

У меня есть требование, где у меня есть 2 строки, как показано ниже


val data1 = ("42881644070,13.04148,80.096043,32,2019-05-01 12:32:00,[32435381]#42881685433,13.057927,80.127096,45,2019-05-01 12:32:00,[32435383]#42881685434,13.057927,80.127096,35,2019-05-01 12:32:00,[32435384]")

val data2 = ("42881644070#43848058544#43847944680#43849252675#43849251662#43849943435#43850472762")

Я хотел сравнить значения данных 2 с данными1. Первым элементом, который является id и разделителем между элементами, является # здесь. Также на выходе должны быть только те элементы, которые не совпадают с данными2.

Здесь вывод должен быть Array [String]

Array(42881685433,13.057927,80.127096,45,2019-05-01 12:32:00,[32435383], 42881685434,13.057927,80.127096,35,2019-05-01 12:32:00,[32435384])

1 Ответ

1 голос
/ 17 июня 2019

Вот что вы можете сделать:

val data1 = "42881644070,13.04148,80.096043,32,2019-05-01 12:32:00,[32435381]#42881685433,13.057927,80.127096,45,2019-05-01 12:32:00,[32435383]#42881685434,13.057927,80.127096,35,2019-05-01 12:32:00,[32435384]"

val data2 = "42881644070#43848058544#43847944680#43849252675#43849251662#43849943435#43850472762"

val array1 = data1.split("#")
val array2 = data2.split("#")

val res = array1.filterNot(elem => array2.contains(elem.split(",").head))
println(res.mkString(","))
// Displays
// 42881685433,13.057927,80.127096,45,2019-05-01 12:32:00,[32435383],42881685434,13.057927,80.127096,35,2019-05-01 12:32:00,[32435384]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...