Как извлечь часть домена из строки в Java? - PullRequest
2 голосов
/ 05 сентября 2011

Если мой домен 31.example.appspot.com (App Engine добавляет номер версии), я могу получить домен из объекта Request следующим образом:

String domain = request.getServerName();
// domain == 31.example.appspot.com

Я хочу извлечь все, кроме номера версии, чтобы я получил два значения:

String fullDomain; // example.appspot.com
String appName;    // example

Поскольку домен может быть любым из:

1.example.appspot.com

до:

31.example.appspot.com

Как извлечь значения fullDomain и appName в Java?

Подойдет ли здесь регулярное выражение?

Ответы [ 2 ]

4 голосов
/ 05 сентября 2011

Если вы всегда уверены в этом шаблоне, то просто найдите первую точку и начните с нее.

fullDomain = domain.subString(domain.indexOf('.'));

ОБНОВЛЕНИЕ : после комментариев Джеймса и Шона, вот полный текстправильный код:

int dotIndex = domain.indexOf(".")+1;
fullDomain = domain.substring(dotIndex);
appName = domain.substring(dotIndex,domain.indexOf(".",dotIndex));
3 голосов
/ 05 сентября 2011

Взгляните на метод split на java.lang.String.

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