2013-02-10 40 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 - - - -