format - 以多个字符居中的 Rust 字符串

标签 format rust

我一直在阅读 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/

相关文章:

php - 调整图像大小和图像格式

JavaScript 递归将列表格式从 XML 转换为 HTML

rust - 具有阴影和 String -> &str 转换的 'let' 范围

rust - 如何实现任何可变性的特征?

regex - 如何使正则表达式宏工作?

ruby - Rails 应用程序的出生日期正则表达式 yyyy-mm-dd

java - Android:格式化字符串并添加粗体样式

rust - 具有结构 "cannot move out of borrowed content"的向量的多次迭代

rust - 如何在Rust中将变量作为字符串文字传递?

java - 特定格式的时间 Android Java