Разделить строку после некоторой конкретной c подстроки в Java с помощью регулярного выражения - PullRequest
0 голосов
/ 27 мая 2020
String str = "FirstName LastName - 1234xx"

В приведенном выше случае вы хотите заменить указанную выше строку всем, что находится после подстроки «-». В приведенном выше примере это будет означать изменение str на 1234xx

Длина строки после «-» не фиксирована, следовательно, нельзя просто захватить последнее определенное число. символов

Этот подход дает FirstName LastName - - вместо желаемого результата 1234xx

public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "FirstName LastName - 1234xx";
        String newStr = str.replaceAll("(?<=( - )).*", "$1");

        System.out.println(newStr);
    }
}

1 Ответ

1 голос
/ 27 мая 2020

Вы были на правильном пути. Просто используйте ленивую точку, чтобы использовать все, вплоть до da sh.

String str = "FirstName LastName - 1234xx";
String newStr = str.replaceAll("^.*-\\s*", "");

System.out.println(newStr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...