Подстрока после символа - PullRequest
1 голос
/ 08 января 2020

Я ищу способ красиво извлечь 'идентификатор пользователя' из строки в Groovy. Допустим, у меня есть строка "key::${userId}" Например:

String s = "key::123456"

Я могу извлечь userId в стиле java следующим образом

Long.parseLong(s.substring(s.indexOf("::") + 2))

Но я считаю, что есть способ сделать короче и аккуратнее

Ответы [ 2 ]

4 голосов
/ 08 января 2020

Если key:: всегда является префиксом, вы можете использовать оператор - в сочетании с ключевым словом as для преобразования строки в long:

String s = 'key::123456' 
long userId = (s - 'key::') as long
3 голосов
/ 08 января 2020

Вы можете использовать несколько операторов присваивания в сочетании с методом tokenize:

def (_,userId) = "key::123456".tokenize("::")

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