微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

连接填充字符串

我有三个字符串,例如“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],因为你的序列中包含了两个字符和字符串.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐