首页 > 解决方案 > 如何在java中按字符串的数据类型拆分字符串?

问题描述

在我的 Spigot 插件中,玩家输入一个命令,例如/logging chat clear 1d. 1d需要为日期解析的参数编号 2(第 3 个参数) (例如 1d = 1 天,15m = 15 分钟)。我已经弄清楚了解析部分,但是当我尝试解析多个数字(1 对 11)时,我的解析不起作用,因为我根据字符进行拆分,而不是根据它是整数还是字符串。然后我String[] part = arg3.split("");将第一个字符作为数字,将第二个字符作为字符串。 我怎么能做到这一点,但拆分以便我可以有多个数字?(正则表达式?)

标签: javasplit

解决方案


private void myMethod() {
    String integers = "";
    String characters = "";
    String splitArgument = ""; //this is the 1d or 11d part
    for(int x = 0; x < splitArgument.length(); x++) {
        Char currentChar = splitArgument.charAt(x);
        if(Character.isDigit(currentChar)) {
            integers += currentChar;
        }else {
            characters += currentChar;
        }
    }
}

其中 myMethod 仅表示您正在分析输入的代码区域。您可以创建一个方法(如 isInteger()),该方法从您正在检查的字符串中获取字符并确定它们是否是整数/字符串并重新连接字符串为他们。对于整数部分,您可以执行以下操作:

int myInteger = Integer.parseInt(integers);

推荐阅读