如何找到仅包含/包含给定char序列的单词

我希望遍历一个字典文件,找到只包含给定字符的单词

示例dgo

期望的结果:狗,上帝

不包含(在其中)给定字符的单词

我正在使用以下代码:

while((dictionaryWord = br_.readLine()) != null) { if(dictionaryWord.contains(getWord())) System.out.println(dictionaryWord); } 

但这给了我所有包含给定字符的单词 – 不是所希望的

没有正则表达式:

 public static boolean sameCharacters(String left, String right) { return sortCharacters(left).equals(sortCharacters(right)); } private static String sortCharacters(String s) { final char[] chars = s.toCharArray(); Arrays.sort(chars); return String.valueOf(chars); } 

更新 :性能更好的版本(感谢user384706 ):

 public static boolean sameCharacters(String left, String right) { return Arrays.equals(sortCharacters(left), sortCharacters(right)); } private static char[] sortCharacters(String s) { final char[] chars = s.toCharArray(); Arrays.sort(chars); return chars; } 

你可以通过做检查

 if (word.matches("[dgo]*")) { ... }