2012-01-07 42 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