2012-01-07 82 views
0

時,我有一個數據庫如何避免重複替換字符替換子

**final test project - test decorations** 

下面的字符串,我想用破折號(-字符)來代替空格。這是我到目前爲止有:

tit1 = rs.getString("title"); 
tit1 = tit1.replaceAll("\\s{1}", "-"); 

輸出看起來像這樣

**final-test-project---test-decorations** 
    **shadow-of-the-test----test** 

,但我想這樣

**final-test-project-test-decorations** 
    **shadow-of-the-test-test** 

我怎樣才能讓更換輸出忽略單一的破折號周圍有空白?

回答

5

你可以使用下面的行

tit1 = tit1.replaceAll("[\\s-]+", "-"); 

,而不是您的來電replaceAll。它將所有連續的空格連成短劃線,並用單個短劃線替換它們。

+0

但相同的輸出我得到了我提到的第二個一個,你可以澄清一下.... – user1135693 2012-01-07 08:03:24

+0

@ user1135693你能請註明什麼是輸入你能指望什麼。這個答案完全對應於你在下面陳述的「我想要這樣的輸出」。我實際上不明白你的意思是「忽略單一的破折號」。 – Howard 2012-01-07 08:08:16

+0

我得到這個輸出的「陰影的最測試----測試」,但我想「陰影的最 - 測試 - 測試」單 - 曾經在那裏我能得到---, - , - - 破折號我想單 - 。 – user1135693 2012-01-07 09:43:47