从单词列表中查找字符串中的一些字符

时间:2015-09-19 13:21:23

标签: java regex string

我正在制作一个程序来排序字符串列表(大约50个),它们最多包含10个字符。我创建了10个文本框,每个文本框都会从单词中取出一个字符。我想随机填写方框并提出单词匹配,但不知道从哪里开始。我是否需要使用排序算法来完成我需要的操作?我如何确保角色在所有单词的相同位置(IE如果我有单词" Hello"和"嗨",如果我填写了文本框1 H它将返回两者,因为第一个字母匹配)。我认为这与子字符串有关,但我可以把手指放在它上面。

编辑:如果你很难理解我曾经问过Cinnam在评论中准确描述了什么。

1 个答案:

答案 0 :(得分:0)

以下是如何根据TextField值构建正则表达式的示例:

    String[] textFieldValues = {"", "u", "", "t", "", "", "", "", "", ""};
    String testedWord = "turtle";

    StringBuilder sb = new StringBuilder("*.");
    boolean letterFound = false;

    for (int i = textFieldValues.length - 1; i >= 0; i--) {
        if (!textFieldValues[i].isEmpty()) {
            sb.append(textFieldValues[i]);
            letterFound = true;
        } else if (letterFound) {
            sb.append('.');
        }
    }
    String regex = sb.reverse().toString();

    System.out.println(regex);                      // .u.t.*
    System.out.println(testedWord.matches(regex));  // true

textFieldValues包含各种TextField的字母值。此示例仅测试一个单词,根据需要进行修改以测试阵列。

有关正则表达式模式的详细信息,请参阅https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html