java - 按句点拆分字符串

标签 java

您好,我有以下字符串,我正在尝试针对 hibernate createAlias 和查询限制进行拆分。

我需要将字符串分成三部分。

employeeProfile.userProfile.shortname

1. employeeProfile.userProfile
2. userProfile
3. userProfile.shortName

我还希望它能够动态地执行不同长度的字符串。

employeeProfile.userProfile.anotherClass.shortname

1. employeeProfile.userProfile.anotherClass
2. userProfile.anotherClass
3. anotherClass.shortName

使用以下代码,除了第三个之外,我能够使其大部分工作。

public void hasAlias(Criteria t, final Map<String, Object> map) {
    for (Map.Entry<String, Object> entry : map.entrySet()) {
        String key = entry.getKey();
        if (key != null && key.contains(".")) {
            key = key.substring(0, key.lastIndexOf("."));
            String value = key.contains(".") ? key.substring(key.lastIndexOf(".") + 1, key.length()) : key;
            t.createAlias(key, value);
        }
    }
}

有人可以帮我获得第三名吗?

最佳答案

看看String.split() 。例如,您可以执行如下操作:

String[] tmp="foo.bar".split("."); 

一旦您以这种形式获得它,您就可以用它做任何您需要做的事情。

关于java - 按句点拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692433/

相关文章:

java - 我应该如何将键值传递给 PL/SQL 过程?

Java:将char添加到字符串中的特定位置(性能)

java - 获取错误 : . ...嵌套异常是 java.lang.NoSuchMethodError : org. apache.catalina.Context.addServletMapping(Ljava/lang/Stri

java - 配置 Apache Shiro 权限

java - 不安全的 compareAndSwapInt 与同步

java - 保留 Joda-Time `DateTime` 对象的最有效方法是什么?

java - 求两个元素之和的最小绝对值

java - 重新部署时 Google Cloud Pub Sub 内存泄漏(基于 Netty)

java - 如何使用特定的类属性对 arraylist asc 进行排序?

java - 打开缓冲对象流时出现 EOFException