Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Scala中带有字符串插值的字符串格式化为固定宽度的字符串?_Scala_Padding_Scala 2.10_String Interpolation_Format String - Fatal编程技术网

如何将Scala中带有字符串插值的字符串格式化为固定宽度的字符串?

如何将Scala中带有字符串插值的字符串格式化为固定宽度的字符串?,scala,padding,scala-2.10,string-interpolation,format-string,Scala,Padding,Scala 2.10,String Interpolation,Format String,我正在与一个非常旧的系统交互,我需要生成的文件需要一个由字符串组成的字段,但宽度必须正好为15 我想要这样的东西: val companyName = "FooBar, Inc" // 11 chars f"$companyName%s" 返回: " FooBar, Inc" 有没有一种巧妙的方法来完成我想用字符串插值来做的事情?与a一起使用。肯定有什么东西能满足你的要求:-) 此代码将执行您想要的操作: scala> val companyName = "FooBar, Inc

我正在与一个非常旧的系统交互,我需要生成的文件需要一个由字符串组成的字段,但宽度必须正好为15

我想要这样的东西:

val companyName = "FooBar, Inc" // 11 chars
f"$companyName%s"
返回:

"    FooBar, Inc"
有没有一种巧妙的方法来完成我想用字符串插值来做的事情?

与a一起使用。肯定有什么东西能满足你的要求:-)

此代码将执行您想要的操作:

scala> val companyName = "FooBar, Inc"
companyName: String = FooBar, Inc

scala> f"$companyName%15s"
res0: String = "    FooBar, Inc"

哦,哇。我将编辑我的问题,因为它甚至都不正确。我不知道我在REPL中输入了什么,因为这显然有效。谢谢。用这种方法可以得到左对齐的格式(在右边填充空格)吗?是的,对宽度说明符预先挂起“-”:
scala>f“$companyName%%15s”
我可以把15a参数设置为:like
val w=15
现在执行类似的操作:
f“$companyName%${w}s”
@drjerry可能实现这种效果的唯一方法是使用
字符串格式(“%”+w+“s”,w,companyName)
。这个问题现在看起来很简单,这是因为我在得到解决方案的整个过程中犯了一些错误,所以我把这个问题分割开来,这样才有意义。