2013-02-10 64 views
1

好了,所以說我有一句話:BEER從字符串中提取模式?

我想創建一個像這樣的字符串:- E E -

請參閱比E以外的所有字母都被替換爲-每間引入了一個空間字符。我可以很容易地做到後者,而不是前者。

另外,它可能有助於不被消隱的字符未知。我必須根據Set的字符做出決定。

所以,如果我有話的SetBEER HERE HAIR,我想E不被消隱,我的輸出應該是這樣的:- E E --E - E- - - -

我該怎麼做?

回答

1

迭代字符串中的字符。

對於每個字符,如果它在setOfCharactersToNotBlankOut中,則打印該字符。如果不是,則打印-

+0

但問題是,我的算法將在'噢運行(N^2)'的時間,因爲它在另一個循環。我怎樣才能讓它跑得更快? – user2027425 2013-02-10 01:27:41

+0

那麼?對於n <100,O(n^2)與眨眼一樣快。你的程序實際運行速度是否會很慢?你有沒有測量? – Patashu 2013-02-10 01:28:23

+0

我有約176k字我需要運行。 :( – user2027425 2013-02-10 01:39:09

1

嘗試

String s = "BEER HERE HAIR"; 
s = s.replaceAll("[^E ]", " - "); 
System.out.println(s); 

打印

- EE - - E - E - - - -