TAB не входит в элемент управления ActiveX, встроенный в мою выигрышную форму

Другое решение кандидата с использованием регулярного выражения. Сохраняет порядок токенов, правильно соответствует нескольким токенам одного типа в строке. Недостатком является то, что регулярное выражение является довольно неприятным.

package javaapplication2;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JavaApplication2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String num = "58.5+variable-+98*78/96+a/78.7-3443*12-3";

        // Terrifying regex:
        //  (a)|(b)|(c) match a or b or c
        // where
        //   (a) is one or more digits optionally followed by a decimal point
        //       followed by one or more digits: (\d+(\.\d+)?)
        //   (b) is one of the set + * / - occurring once: ([+*/-])
        //   (c) is a sequence of one or more lowercase latin letter: ([a-z]+)
        Pattern tokenPattern = Pattern.compile("(\\d+(\\.\\d+)?)|([+*/-])|([a-z]+)");
        Matcher tokenMatcher = tokenPattern.matcher(num);

        List<String> tokens = new ArrayList<>();

        while (!tokenMatcher.hitEnd()) {
            if (tokenMatcher.find()) {
                tokens.add(tokenMatcher.group());
            } else {
                // report error
                break;
            }
        }

        System.out.println(tokens);
    }
}

Образец вывода:

[58.5, +, variable, -, +, 98, *, 78, /, 96, +, a, /, 78.7, -, 3443, *, 12, -, 3]
0
задан Tiger Galo 18 January 2019 в 13:04
поделиться

1 ответ

Если вы не хотите, чтобы кнопка или какой-либо элемент в вашей форме выполнялся нажатием клавиши TAB, просто добавьте this.MyButton.TabStop = false; в свой конструктор этой конкретной формы. Все, что он делает, это отключает (в данном случае «MyButton») выбор, нажимая TAB. Я надеюсь, что это решит вашу проблему.

0
ответ дан Christoph Blüm 18 January 2019 в 13:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: