簡體   English   中英

如何在Java Formatter中轉義減號?

[英]How to escape minus sign in Java Formatter?

這是格式化的表頭示例:

StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb, Locale.US);
formatter.format("%-16s ---%-21s--- %-21s %-23s %-25s", "IP", "BLOCKED", "BLOCKED TILL", "ACTIVITY (00:00-24:00)", "COUNTRY");
System.out.println(sb.toString());

但是問題出在---%-21s---部分:

IP               ---BLOCKED              --- BLOCKED TILL          ACTIVITY (00:00-24:00)  COUNTRY

如何逃避最后三個負號? 我想強調排序列。 結果應為:

IP               ---BLOCKED---               BLOCKED TILL          ACTIVITY (00:00-24:00)  COUNTRY

問題是您將BLOCKED字符串指定為21的寬度,因此破折號---不能立即包圍文本(請注意,第二組破折號在空格之后出現)。 相反,您必須將破折號放在要打印的字符串內:

formatter.format("%-16s %-21s %-21s %-23s %-25s", "IP", "---BLOCKED---", "BLOCKED TILL", "ACTIVITY (00:00-24:00)", "COUNTRY");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM