首页 > 解决方案 > 如何在 Scala 中转换字符串格式

问题描述

我有一个字符串的字符串是这样的

232302001A7102186410045298B9A000A00000E100010160120903130108920050433630315F433133302E3030342E3132372E30315F54312E312E3000000064666266356135326137613464633039633430650000000000000000000000000000000000000000000001005D28 内容;现在我想把它转化为<code>23,23,02,00, 1A等这样的形式,但是怎么做,想了半天知道一点想法,>求大神没点***

标签: scala

解决方案


这是你可以做的。

val str = "232302001A710218641004529" +
    "8B9A000A00000E100010160120903130108920050433630315F433133302E3030342E31" +
    "32372E30315F54312E312E300000006466626635613532613761346463303963343065" +
    "0000000000000000000000000000000000000000000001005D28"

  val ans = str.sliding(2,2).toList
  println(ans)
//List(23, 23, 02, 00, 1A, 71, 02, 18, 64, 10, 04, 52, 98, B9, A0, 00, A0, 00, 00, E1, 00, 01, 01, 60, 12, 09, 03, 13, 01, 08, 92, 00, 50, 43, 36, 30, 31, 5F, 43, 31, 33, 30, 2E, 30, 30, 34, 2E, 31, 32, 37, 2E, 30, 31, 5F, 54, 31, 2E, 31, 2E, 30, 00, 00, 00, 64, 66, 62, 66, 35, 61, 35, 32, 61, 37, 61, 34, 64, 63, 30, 39, 63, 34, 30, 65, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 01, 00, 5D, 28)

或者您可以使用分组作为 m,n 的值相等我们应该使用分组。像这样

str.grouped(2)

推荐阅读