Регулярное выражение в java [закрывшая]

Следующей цепи

550 5.5.0 Requested action not taken: mailbox unavailable. [H8EUS03HSJ090.uip-EUH03.prod.com] 6598 haer

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

Я смог удалить характеры, которые являются числами (он подает меня также), но он должен бы быть одиноким числа начала. Используйте следующее выражение:

list.getReason().replaceAll("[/\\d/]","") 
0
задан 10.11.2019, 05:02
2 ответа

Думай, что Тест с твоей проблемой мне не кажется необходимым использовать регулярные выражения, если конец проблемы состоит в том, чтобы получать твое сообщение ошибки без чисел начала:

    @Test
    public void cadena(){
            String palabra = "550 5.5.0 Requested action not taken: mailbox unavailable. [H8EUS03HSJ090.uip-EUH03.prod.com] 6598 haer";
            int idx = 0;
            for (char element : palabra.toCharArray()
             ) {
            //Solo verifica que no sea digito, no se si quieras tambien incluir los puntos o espacios en blanco
            //!Character.isDigit(element) && element != ' ' && element != '.'
            if(!Character.isDigit(element)) {
                break;
            }
            idx++;
        }
            //Ahora tenemos el indice con el cual podemos obtener la subcadena sin los numeros
            System.out.println(palabra.substring(idx));
    }

}
2
ответ дан 01.12.2019, 12:13

Ты можешь использовать функцию subString, чтобы брать только стоимость, что ты хочешь например

    String palabra = "550 5.5.0 Requested action not taken: mailbox unavailable. [H8EUS03HSJ090.uip-EUH03.prod.com] 6598 haer";

    palabra = palabra.substring(10, palabra.length());

    System.out.println(palabra);

, И тебя печатает следующее

Requested action not taken: mailbox unavailable. [H8EUS03HSJ090.uip-EUH03.prod.com] 6598 haer

0
ответ дан 01.12.2019, 12:13