0

コードは次のとおりです。

public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "<html>" +
                "           <head>" +
                "               <title>" +
                "                   %s" +
                "               </title>" +
                "           </head>" +
                "           <body>" +
                "               %s" +
                "           </body>" +
                "   </html>";
        String str1 = String.format(str, "Home","Hallo");
        System.out.println(str1);
    }

str1次のように印刷したい

//The str1 should need to print like this


           <html>           
                <head>              
                    <title>                 
                        Home                
                    </title>        
                </head>     
                <body>              
                    Hallo           
                </body>
            </html>

これは可能ですか?

4

3 に答える 3

5
String str = "<html>\n" +
"           <head>\n" +
"               <title>\n" +
"                   %s\n" +
"               </title>\n" +
"           </head>\n" +
"           <body>\n" +
"               %s\n" +
"           </body>\n" +
"   </html>\n";

これはあなたが望むものです... Windowsを使用している場合は、\nの後に追加の\rを追加する必要がある場合があります。

\nは改行文字、\rキャリッジ リターンと呼ばれます。は\nUNIX と Windows の標準改行文字ですが、Windows の一部のプログラムでは、文字列を正しく表示するためにキャリッジ リターン d が必要になる場合があります。

System.getProperty("line.separator");\nunix およびWindows で返さ\n\rれます。このコマンドが実行されたオペレーティング システムの標準の「行区切り」を返すだけです。

于 2013-08-27T06:58:11.243 に答える
0

ハードコードされた 2 つの値を設定する場合は、次のように使用できます。

    StringBuilder builder = new StringBuilder();
    final String SEPARATOR = "\r\n";
    builder.append("<html>").append(SEPARATOR);
    builder.append("           <head>").append(SEPARATOR);
    builder.append("               <title>").append(SEPARATOR);
    builder.append("                   ").append("Home").append(SEPARATOR);
    builder.append("               </title>").append(SEPARATOR);
    builder.append("           </head>").append(SEPARATOR);
    builder.append("           <body>").append(SEPARATOR);
    builder.append("               ").append("Hallo").append(SEPARATOR);
    builder.append("           </body>").append(SEPARATOR);
    builder.append("   </html>").append(SEPARATOR);

動的な方法は sth です。このような:

    StringBuilder builder = new StringBuilder();
    final String SEPARATOR = "\r\n";
    builder.append("<html>").append(SEPARATOR);
    builder.append("           <head>").append(SEPARATOR);
    builder.append("               <title>").append(SEPARATOR);
    builder.append("                   %s1").append(SEPARATOR);
    builder.append("               </title>").append(SEPARATOR);
    builder.append("           </head>").append(SEPARATOR);
    builder.append("           <body>").append(SEPARATOR);
    builder.append("               %s2").append(SEPARATOR);
    builder.append("           </body>").append(SEPARATOR);
    builder.append("   </html>").append(SEPARATOR);

    String str = builder.toString().replace("%s1", "Home").replace("%s2", "Hallo");
于 2013-08-27T07:06:04.070 に答える