0

これをフォーマットする必要がありますString

"public class geo {
    public static void main(String[] args) {
        if (true) {
           System.out.print("Yes");
            if (false) {
                System.out.prinln("DSadaDSa");
                x = 4;
                blahblah();
            }
        }
    }
}"

次の間のすべてを取得します。

"public class geo {
    public static void main(String[] args) {

    }
}"

したがって、この例で取得したい文字列は次のとおりです。

"if (true) {
    System.out.print("Yes");
    if (false) {
        System.out.prinln("DSadaDSa");
        x = 4;
        blahblah();
    }
}"

現在、不要な文字シーケンスを空の文字列に置き換えることで、少し面倒な方法でやっていますがString、最後に残っているのは

    "if (true) {
        System.out.print("Yes");
        if (false) {
            System.out.prinln("DSadaDSa");
            x = 4;
            blahblah();
        }
    }"

各行の先頭のタブはまだあります。

これらのタブを削除して、String効果的に 1 つのタブ幅だけ左にシフトする簡単な方法はありますか?

4

2 に答える 2

1

これを試して:

String s=what you already have;

//split the string into lines
String[] lines=s.split("\n");

//cut off the beginning of each one
for(int i=0;i<lines.length;i++)
    lines[i]=lines[i].substring(/*1, 2, 4, or 8 depending on tab formatting*/);
return s;
于 2013-03-31T17:24:48.327 に答える