如果我的域是 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
如何在 Java 中提取 fullDomain
和 appName
值?
正则表达式在这里合适吗?
最佳答案
如果您始终确定这种模式,那么只需找到第一个点并从那里开始即可。
fullDomain = domain.subString(domain.indexOf('.'));
更新:在 James 和 Sean 评论之后,以下是完整的正确代码:
int dotIndex = domain.indexOf(".")+1;
fullDomain = domain.substring(dotIndex);
appName = domain.substring(dotIndex,domain.indexOf(".",dotIndex));
关于java - 如何从Java中的字符串中提取部分域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309475/