加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

连接填充字符串

发布时间:2020-12-16 19:06:11 所属栏目:安全 来源:网络整理
导读:我有三个字符串,例如“A”,“B”,“C”. 我必须产生从连接它们导致的字符串,只有第二个字符串必须用空格填充到给定的长度. 这是我的第一次尝试,以直觉和普通的Scala新手指导: val s1 = "A"val s2 = "B"val s3 = "C"val padLength = 20val s = s1 + s2.padTo
我有三个字符串,例如“A”,“B”,“C”.
我必须产生从连接它们导致的字符串,只有第二个字符串必须用空格填充到给定的长度.

这是我的第一次尝试,以直觉和普通的Scala新手指导:

val s1 = "A"
val s2 = "B"
val s3 = "C"
val padLength = 20

val s = s1 + s2.padTo(padLength," ") + s3

这是错误的,因为padTo返回一个SeqLike,其中toString不返回字符串,但是类似Vector的表示.

在Scala中做什么最好的惯用方式是什么?

解决方法

字符串可以(通过隐式转换为 StringOps这里)被认为像一个字符的集合,所以你的填充应该是:

val s = s1 + s2.padTo(padLength,' ') + s3 // note the single quotes: a char

调用一个String上的.padTo(padLength,“”)实际上返回一个Seq [Any],因为你的序列中包含了两个字符和字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读