Программное обеспечение для редактирования Java

#java #awt

Вопрос:

Я создаю редактор с использованием java, в котором моя опция поиска и замены не работает, пока я заменяю c на java, а затем после замены моего кода показывает, что java не полностью заменяет в текстовых файлах.

Итак, вот методы поиска, которые я создал в своем коде с помощью patcher и matcher

 public void findingValue1() {

    p = Pattern.compile(p.quote(tf1.getText()));
    m = p.matcher(tavalue);

    if (m.find(x)) {
        y = 0;
        char ch[] = tavalue.toCharArray();
        for (int i = 0; i < m.start(); i  )
            if (ch[i] == 'n')
                y  ;
        ta.select(m.start() - y, m.end() - y);
        r1 = m.start() - y;
        r2 = m.end() - y;
        x = m.end();
        user = true;
    } else
        cannotFound();
    f1.toFront();
}

public void findingValue2() {
    try {
        s1 = ta.getText();
        s1 = s1.replaceAll("r", "");
        ta.setText(s1);
        ta.setCaretPosition(pos);
        p = Pattern.compile(tf2.getText());
        m = p.matcher(s1);
        if (m.find(pos)) {
            ta.requestFocus();
            ta.select(m.start(), m.end());
            String str1, str2;
            str1 = tf3.getText();
            str2 = tf2.getText();
            if (str1.length() > str2.length())
                pos = m.end()   1;
            else
                pos = m.start()   1;
        } else
            cannotFound();

    } catch (Exception ex) {
        cannotFound();
    }

}
 

Я знаю, что это неправильный способ задавать вопросы, но мой код очень огромен.
Кто-нибудь может объяснить, почему это происходит?

Комментарии:

1. может ли мне понадобиться показать полный код ?

Ответ №1:

Этот…

         p=Pattern.compile(tf2.getText());
 

… использует текст, введенный в tf2 регулярное выражение, для соответствия. Этот символ является одним из нескольких, которые имеют особое значение в регулярных выражениях. Если вы хотите рассматривать вводимые пользователем данные как буквальный текст, независимо от того, какие символы в нем содержатся, вам нужно процитировать его или иным образом указать это. Например,

         p = Pattern.compile(Pattern.quote(tf2.getText()));
 

Комментарии:

1. сэр, это все равно не работает для меня.. Когда я заменяю java на c , он заменяет только c, т. Е… Java

2. Сэр, когда я пытаюсь использовать некоторые цифры, например, заменить 111 на AAA, он успешно работает