Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从字符串中提取模式?_Java_Design Patterns - Fatal编程技术网

Java 从字符串中提取模式?

Java 从字符串中提取模式?,java,design-patterns,Java,Design Patterns,好吧,我有一个词:啤酒 我想创建如下字符串:-E- 请注意,除了E之外的所有字母都已替换为-,并且每个字符之间都引入了空格。我可以很容易地做后者,而不是前者 另外,不被清除的字符未知可能会有所帮助。我必须根据字符集做出决定 所以,如果我有一组单词:BEER HERE HAIR,我希望E不被屏蔽,我的输出应该是:-E E-E-E-E 我应该如何执行此操作?迭代字符串中的字符 对于每个字符,如果它在字符集stonotblankout中,则打印该字符。如果不是,则打印-试试 String s = "B

好吧,我有一个词:
啤酒

我想创建如下字符串:
-E-

请注意,除了
E
之外的所有字母都已替换为
-
,并且每个字符之间都引入了空格。我可以很容易地做后者,而不是前者

另外,不被清除的字符未知可能会有所帮助。我必须根据
字符集
做出决定

所以,如果我有一组单词:
BEER HERE HAIR
,我希望
E
不被屏蔽,我的输出应该是:
-E E-E
-E-E


我应该如何执行此操作?

迭代字符串中的字符

对于每个字符,如果它在字符集stonotblankout中,则打印该字符。如果不是,则打印
-

试试

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

 - EE -  - E - E - - - - 

问题是,我的算法将在
O(n^2)
时间内运行,因为它位于另一个循环中。我怎样才能让它跑得更快?那么?n<100的O(n^2)与眨眼的速度一样快。你的程序会运行得很慢吗?你测量过了吗?我需要运行大约176k个单词(好了,我通过更改使用的数据结构使其成为O(n):3好吧,我仍然必须使用嵌套循环来迭代字符串中的每个字符。我想没有更快的方法来完成这项工作。。