-2

単語間に単一のスペースがある文字列があります。約30語になります。1 つのスペースを 2 つまたは 3 つのスペースに置き換える必要があります。replaceAll() を使用してそれを行うにはどうすればよいですか?

String Unit_Name="-";

public String getUnit_Name() {
        return Unit_Name;
    }

    @XmlAttribute(name="UNIT")
    public void setUnit_Name(String Unit_Name) {

        String b=Unit_Name.replaceAll(" ", "   ");
        this.Unit_Name = b;
    }

これは私が試したコードです。しかし、これはうまくいかないようです。これが私のデータ「3590-1 3490 3480X 3480 3400-6 CTAPE RTAPE TAPE 3400 3400-9 3400-5 3400-3 2400-3 SYS3480R SYS348XR」です。ここの単一のスペースは、タブスペースまたは複数のスペースに置き換える必要があります

4

5 に答える 5

1
    String a= "bla bla bla";
    String b = a.replaceAll(" ", "   ");
    System.out.println(b);

置き換えた文字列を新しい文字列に保存していないと思います。String は Java では不変であるため、新しい文字列 b を取得して更新された値を保存します。

これが役立つと思います。

ありがとうございました。

于 2013-09-27T06:49:38.807 に答える
0

あなたがさらに反対票を投じる前に、私に答えさせてください。

    System.out.println(":" + "xy abc.\thello world\n".replaceAll(" ", "  ") + ":");
    System.out.println(":" + "xy abc.\thello world\n".replaceAll("\\s", "  ") + ":");

最初の行は、1 つのスペースだけを 2 つのスペースに置き換えます。2 行目は、1 つの空白文字 (スペース、タブ、改行など) を 2 つのスペースに置き換えます。

正規表現の開発とテストについては、こちらを参照してください: regex Planet

于 2013-09-27T06:48:50.857 に答える
0

これには正規表現を使用することを好みました:

a.replaceAll("\\s+", " "); 

これにより、すべての空白文字が単一のスペースに置き換えられます。

以下のコードを使用して、空白文字を置き換えてタブを配置します。

a.replaceAll("\\s+", "\t"); 

同様に、「\t」の代わりに複数のスペースを使用して、次のようにすべての空白文字を前述のスペースに置き換えることができます。

a.replaceAll("\\s+","     ");
于 2013-09-27T06:42:49.510 に答える
-1

replaceAll()でダブルスペースが可能

input.replaceAll(" ", "  ");
于 2013-09-27T06:39:58.987 に答える
-1

はい、replaceAll(" "," ")方法は最善の方法です。

いくつかのドキュメントを読みませんでしたか?

于 2013-09-27T06:41:21.230 に答える