Как я могу выбрать номера больше, чем - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть ситуация, у меня есть строки, которые содержат что-то вроде этого:

, time:219857 msec,
, time:1127 msec,
, time:38 msec,
, time:515 msec,
, time:9345 msec,
, time:423385 msec,

Мне нужно выбрать эту строку в каждой строке, где число больше, чем 150000 .

Ответы [ 3 ]

0 голосов
/ 26 февраля 2020

Идея состоит в том, чтобы сопоставить любое число с 7 или более цифрами ИЛИ с любым числом больше 150000 (начиная с [1-9][5-9] ИЛИ [2-9][0-9] И любыми другими 4 цифрами.

Базовое регулярное выражение:

(\d{7,}|(?:[1-9][5-9]|[2-9][0-9])\d{4})

Регулярное выражение применяется к вашему случаю (сопоставление всей строки с группой для номера):

^.*?(\d{7,}|(?:[1-9][5-9]|[2-9][0-9])\d{4}).*?$

Попробуйте здесь:

https://regex101.com/r/4TWiTf/3

0 голосов
/ 26 февраля 2020

Если ваш строковый формат каждый раз один и тот же, вы можете попробовать этот код.

метод вызова с использованием findBiggerNumberFromGivenString(150000);

/**
 * this method is used to find bigger number from given string 
 *
 * @param targetValue this will be your number
 */
private void findBiggerNumberFromGivenString(int targetValue) {
    String dataString = "time:9345 msec"; // your string
    String[] spitedString = dataString.split(":"); // this will split your sting from ":"
    int intData = Integer.parseInt(spitedString[1].split(" ")[0]); // this will split your string from blank space. then pick 1st data and convert into int

    if (intData > targetValue) {
        CustomLog.info("result", "biggerNumber");
    } else {
        CustomLog.info("result", "smallerNumber");
    }
}
0 голосов
/ 26 февраля 2020
public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);
    String str[] = new String[6];
    for (int i = 0; i < 6; i++) {
        str[i] = sc.nextLine();
    }
    Long targetId;
    for(int i =0;i<6;i++){
        targetId = Long.parseLong(str[i].substring(str[i].indexOf(':')+1, str[i].indexOf('m', str[i].indexOf('m') + 1)-1));
        if(targetId > 150000) {
            System.out.println(str[i]);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...