Определить строку содержит число, а затем вставить пробел перед - PullRequest
0 голосов
/ 01 ноября 2018

Считайте, что у меня есть такая строка "Abcd123", мне нужно сначала определить, содержит ли моя строка числа (0-9) или нет, затем вставить пробел перед первым числом, чтобы моя последняя строка была "Abcd 123"

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Вы можете использовать эту простую логику:

    String str = "Abcd123";
    String newStr = "";

    for (int i = 0; i < str.length(); i++) {
        if (Character.isDigit(str.charAt(i))){
            newStr = newStr + " " + str.substring(i);
            break;
        } else {
            newStr = newStr + str.charAt(i);
        }
    }
    System.out.println(newStr);

Здесь мы перебираем каждый символ в строке и вырываемся из цикла, как только мы находим первую цифру.

Выход:

Abcd 123

0 голосов
/ 01 ноября 2018

Вы можете использовать:

String str = "Abcd123";
if (str.replaceAll("\\D", "").length() > 0) {  // check if the string contain numbers
    str = str.replaceFirst("\\d", " $0");      // if yes put a space before the first degit
}

выход

Abcd 123
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...