2016-01-20 53 views
-3

林有點noobie使用正則表達式。 我有一個這樣的字符串:正則表達式來代替空格和特定的模式

"aaa - bbb - ccc --> ddd" 

我需要一個正則表達式,幫助我代替空格" ""-->",所以更換後,我將有一個String作爲結果:

"aaa-bbb-cccddd" 

一些請幫助?

+2

你也許並不需要一個正則表達式,搜索字符串的replace()方法 – webo80

+0

我沒有說出來,但信息是什麼,我真正做的是使用字符串的分割方法正則表達式。 :P –

回答

1

如果你只需要一個表達,你可以用這一個:

String newOne = old.replaceAll("[ ]|(-->)", ""); 

這意味着:所有" "-->與空字符串替換。

但是你有很多選擇:

"(-->)?[ ]?" 
// or using + or * regular expression operators to capture more spaces in one match if you also have that case 
"(-->)*[ ]*" 

如果你知道你的字符串也有aaa固定格式,bbb,等你能做出更大的表達,以捕獲所有一氣呵成。

的第一表達式和周圍的空間方括號中的括號裏你看到更好的表達的結構選擇。

+0

謝謝加布裏埃爾,這工作! –

3

使用交替(在正則表達式的豎線|是邏輯「或」):

str = str.replaceAll(" |-->", ""); 

或者,因爲你不需要正則表達式來找到你的搜索條件:

str = str.replace(" ", "").replace("-->", ""); 

這可能更容易理解。

+0

謝謝你,我不能投票給你,因爲我在網絡上新的。但感謝您的幫助:) –

+0

@Juan歡迎您,歡迎來到stackoverflow! – Bohemian