scala - 与其他字符串和输出数组匹配的字符串
问题描述
我有一个要求,我有 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])
解决方案
这是您可以执行的操作:
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]
推荐阅读
- python - apt install virtualenv vs apt install python3-virtualenv
- laravel - 是否可以在 Vue Js 中显示从一个组件到另一个组件的计算/方法计算值?
- jqgrid - 如何在 jqgrid 中更改行位置?
- firebase - 如何在 Firebase 和 Visual Studio 之间连接?
- ios - 在 Swift 中合并两个结构数组
- python - 使用 python 查找昨天在 linux 主机上创建的所有“*.wav”文件
- c++ - 无法让 cmake 链接到 GLFW 库
- java - Processbuilder 抛出 IO 异常
- linux - 使用 linux 命令在匹配行的末尾添加带有目录结构的字符串
- docker - 如何在不在 docker.com 上创建帐户并登录的情况下下载 Docker for Windows?