gpt4 book ai didi

java - 将字符串(各种长单词)对齐到列 -\t 在 html 中不起作用

转载 作者:行者123 更新时间:2023-12-01 14:38:33 29 4
gpt4 key购买 nike

如何在字符串中使用制表符将数据对齐到列?

我有例如这个字符串:

test = "A10 B10 C10 D10 E10"
test = "A100 B100 C100 D100 E100"
test = "A1000 B10 C100 D1000 E10"

并尝试将它们作为数据表中的一列打印到浏览器

<rich:column styleClass="leftAlign">
<h:outputText value="#{bean.test}"/>
</rich:column>

但是如果我使用 \t 作为分隔符,我会得到:

A10 B10 C10 D10 E10
A100 B100 C100 D100 E100
A1000 B10 C100 D1000 E10

但我需要这样看:

A10   B10   C10   D10   E10
A100 B100 C100 D100 E100
A1000 B10 C100 D1000 E10

注意:当然使用java我可以做类似的事情

A0010 B0010
A0100 ........

或者在短字后面加几个"",不过好像有点恶心..

可以采用其他更优雅的方式吗?

更新:我无法使用  ,因为我正在处理由 ; 分隔的 CSV 文件....

最佳答案

好吧,如果它是一个表格并且您使用的是 HTML,我建议输出一个表格。表格的列将由浏览器对齐:

<table>
<tbody>
<tr><td>A10</td><td>B10</td><td>C10</td><td>D10</td><td>E10</td></tr>
<tr><td>A100</td><td>B100</td><td>C100</td><td>D100</td><td>E100</td></tr>
<tr><td>A1000</td><td>B10</td><td>C100</td><td>D1000</td><td>E10</td></tr>
</tbody>
</table>

制表符不适合您的原因是,通常在 HTML 中,所有连续的空白(空格、制表符、垂直制表符、回车符、换行符等)都被视为一个空间。

如果您确实想以文本方式执行此操作,则需要使用等宽字体,然后您有两个选择:

使用不间断空格字符实体, :

A10&nbsp;&nbsp;&nbsp;B10&nbsp;&nbsp;&nbsp;C10&nbsp;&nbsp;&nbsp;D10&nbsp;&nbsp;&nbsp;E10
<br>A100&nbsp;&nbsp;B100&nbsp;&nbsp;C100&nbsp;&nbsp;D100&nbsp;&nbsp;E100
<br>A1000&nbsp;B10&nbsp;&nbsp;&nbsp;C100&nbsp;&nbsp;D1000&nbsp;E10

或者使用 CSS 样式 white-space: pre (或其相关样式之一)来使用内容。 pre 元素默认使用它,因此:

<pre>A10   B10   C10   D10   E10
A100 B100 C100 D100 E100
A1000 B10 C100 D1000 E10</pre>

这是一个live example ( source ) 所有三个选项,字段之间用分号分隔,正如您所说的那样。

关于java - 将字符串(各种长单词)对齐到列 -\t 在 html 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16232147/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com