8

Tôi đang giao tiếp với một hệ thống thực sự cũ và tệp tôi cần để tạo ra nhu cầu một trường được tạo thành từ một chuỗi nhưng cần chính xác là 15 inch.Làm cách nào để định dạng chuỗi bằng nội suy chuỗi trong Scala dưới dạng chuỗi có chiều rộng cố định?

Tôi muốn một cái gì đó như thế này:

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

Để trở về:

" FooBar, Inc" 

Có cách trơn để làm những gì tôi đang cố gắng để làm với các chuỗi suy?

+0

Câu hỏi này bây giờ có vẻ thực sự đơn giản, đây là bởi vì tôi đã làm điều gì đó khác sai khi tôi đã có giải pháp toàn bộ thời gian, vì vậy tôi vạch ra câu hỏi để nó có ý nghĩa. – myyk

Trả lời

12

Sử dụng String.format với format string. Chắc chắn cái gì đó sẽ làm những gì bạn muốn :-)

Mã này sẽ làm những gì bạn muốn:

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

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

Ồ, wow. Tôi sẽ chỉnh sửa câu hỏi của tôi vì nó thậm chí không chính xác. Tôi không biết những gì tôi đã gõ vào REPL vì điều này rõ ràng làm việc. Cảm ơn. – myyk

+0

Có thể lấy định dạng căn trái (không gian đệm ở phía bên tay phải) với cách tiếp cận này không? –

+2

Có, trước khi đổi '-' thành thông số chiều rộng: 'scala> f" $ companyName% -15s "' –