我一直在阅读 format!
和所有 formatting options并看到有一种使用 <
将一串文本居中的漂亮方法, ^
或 >
.是否可以将字符串以字符居中,而不是将字符串居中?
{:^32} // Centers it nicely in 32 characters of whitespace
我在想:
{:^32'c'} // But this does not work
我几乎尝试了所有可以想到的方法,除了那些看起来太疯狂的方法。但幸运的是,有 Stack Overflow!
是否可以使用数字将字符串居中以实现如下所示的效果?
--------SO is AWESOME--------
最佳答案
Is it possible to center a string using numbers to achieve something like the following?
是的,有点,只要你真正的意思是“类似”......
fn main() {
let s = format!("{:-^30}", "SO is AWESOME");
assert_eq!(s, "--------SO is AWESOME---------");
// ^-- 8 here ^-- 9 here
}
引用formatting syntax ,这里是相关部分:
format_spec := [[fill]align][sign]['#']['0'][width]['.' precision][type]
fill := character
align := '<' | '^' | '>'
width := count
我们指定一个填充(-
),一个对齐(^
/center),和一个< em>宽度 (30
)。但是,字符串的宽度为 13 个单位,因此要将其填充到 30 个单位,一侧的填充量必须更大。
关于format - 以多个字符居中的 Rust 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496035/