2013-09-27 10 views
-2

我有一個單詞之間有單個空格的字符串。將會有近30個字。我需要將單個空間替換爲兩個/三個空格。我怎樣才能使用replaceAll()?如何在java中的字符串中的單詞之間添加雙/三倍空格?

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」。這裏的單空間必須與標籤的空間或多個空格

+0

你已經試過了什麼?下列事情是否符合你的期望? 'System.out.println(「foo bar baz」.replaceAll(「」,「」));' – SubOptimal

+0

replaceAll的第二個參數包含三個空格(它們沒有正確顯示: - /) – SubOptimal

+0

你越來越好。現在讓我們知道您的意思是「似乎沒有工作」。你的輸入是什麼,你的實際產出和你的預期產出? – jboi

回答

-1

是該replaceAll(" "," ")方法是最好的方式。

你沒看過一些文檔嗎?

0

我preferd使用正則表達式是:

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

這將單個空格替換所有空白字符。

使用下面的代碼替換空白字符把標籤:

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

同樣,您可以使用多個空格代替「\ T」,像這樣提及的空間,以取代所有的空格字符:

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

讓我回答之前,你會得到更多的投票。

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

第一行用一個空格替換一個空格。第二行用兩個空格替換一個空格字符(空格,製表符,換行符等)。

看到這裏的開發和測試正則表達式:regex planet

+0

看到我編輯的代碼 – Pramoth

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

我想你是不是保存替換字符串轉換成新的字符串。由於String在Java中是不可變的,因此我使用新的字符串b來保存更新的值。

我想這會幫助你。

謝謝。

相關問題