有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中解析字符串和Int的数组

我正在使用java,我想解析一个字符串,其中包含以下内容

Logging v0.12.4

并将其拆分为包含

Logging

和一个包含

0.12.4

在哪里

array[i][0] = 0

array[i][1] = 12

等等。我已经在这上面呆了一段时间了


共 (3) 个答案

  1. # 1 楼答案

    可以使用正则表达式,也可以使用普通的字符串拆分

    String myString = "Logging v0.12.4";
    String[] parts = myString.split(" v");
    // now parts[0] will be "Logging" and
    // parts[1] will be "0.12.4";
    

    然后对版本部件执行相同的操作:

    String[] versionParts = parts[1].split("\\.");
    // versionParts[0] will be "0"
    // versionParts[1] will be "12"
    // versionParts[2] will be "4"
    

    您可以使用Integer.parseInt(...)将它们“转换”为整数

  2. # 2 楼答案

    • 在空格上拆分字符串以获得Loggingv0.12.4
    • v0.12.4中删除(子字符串)v
    • 在点上拆分0.12.4(使用split("\\."),因为点在正则表达式中是特殊的)
    • 您还可以将每个"0"{}{}解析为整数(Integer.parseInt可能会有帮助)
  3. # 3 楼答案

    给你,伙计,因为我今天感觉很慷慨:

    String string = "Logging v0.12.4";
    Matcher matcher = Pattern.compile("(.+?)\\s+v(.*)").matcher(string);
    
    if (matcher.matches()) {
        String name = matcher.group(1);
        int[] versions = Arrays.stream(matcher.group(2).split("\\.")).mapToInt(Integer::parseInt).toArray();
    }