我希望遍历字典文件并查找仅包含给定字符的单词
示例dgo
期望的结果:狗,上帝
不包含(在其中)给定字符的单词
我正在使用以下代码:
while((dictionaryWord = br_.readLine()) != null)
{
if(dictionaryWord.contains(getWord()))
System.out.println(dictionaryWord);
}
但是这给了我所有包含给定字符的单词 - 不希望
答案 0 :(得分:4)
没有正则表达式:
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;
}
答案 1 :(得分:2)
您可以通过
进行检查if (word.matches("[dgo]*")) {
...
}